Write Apps for Maximum Performance and Responsiveness
тАЬThreading and concurrency are as important in mobile as they are in large, distributed systems. This book does an excellent job of re-introducing us to the basic concepts and describing how to apply them to the Android framework. Even the most experienced Android developer should pick up at least a few tricks from these pages.тАЭ
тАФDave Smith, PE, Google Developer Expert for Android
Mastering concurrency is critical to developing software with superior performance and responsiveness. This is especially true for Android, where interruptions are frequent and abrupt, and in order to be correct, programs must be aware of component and process lifecycles in addition to being thread safe.
You need a deep, Android-specific understanding of concurrencyтАФand Android Concurrency delivers it. This guide in Addison-WesleyтАЩs Android Deep Dive series for experienced Android developers helps you leverage todayтАЩs multi-core processors and heavily cached architectures, as well as major improvements built into Android 5 (Lollipop).
Top Android developer and consultant Blake Meike strips the magic and mystery from concurrent programming and presents intensely practical solutions for everything from inter-thread communication to network communication. Meike introduces a simple but powerful architectural framework you can use to address new issues whenever they arise, and offers expert guidance for debugging even highly complex concurrency issues.
Android Concurrency combines in-depth knowledge, proven patterns and idioms, and world-class insights for avoiding performance-killing mistakes. For serious Android developers, it will be an indispensable resource.
You will
тАв Gain new clarity about what concurrency really is, and how concurrent processes work
тАв Master best practices for writing concurrent code thatтАЩs more robust and less susceptible to weird, hard-to-diagnose errors
тАв Review the Java concurrency mechanisms AndroidтАЩs constructs are built upon
тАв Shape an approach to concurrency that reflects the unique characteristics of the Android environment
тАв Avoid widespread misconceptions that lead Android developers into trouble
тАв Make the most of AsyncTaskтАФbut only when itтАЩs the right tool for the job
тАв Leverage the powerful, lightweight Looper/Handler framework to support scheduled, asynchronous tasks and execute many message types
тАв Use the Android Service component to separate business logic from UI
тАв Understand the differences between started and bound services and use them effectively for intra- and inter-process communication
тАв Perform scheduled tasks, including tasks requiring polling and explicit scheduling
тАв Track down problems via static analysis, annotations, and assertions