Overview
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