Mastering Android Performance: Measure, Optimize, and Ship Fast Apps teaches the discipline behind fast apps: how to measure a problem correctly, find its cause in a trace, fix it, and lock the fix in so it never quietly comes back, across every layer of an app, from the first frame of a cold start to the thermal limits of a phone that has been busy for an hour.
WHAT'S INSIDE (32 CHAPTERS IN 8 PARTS)
- Foundations: why performance matters, how Android runs your app (ART, garbage collection, Binder, process lifecycle), and how it renders a frame
- Measurement & Tooling: measuring correctly, Android Studio profilers, Perfetto and system tracing, Macrobenchmark and Microbenchmark, field monitoring and debug-time guardrails
- Startup & Responsiveness: startup deep dive and optimization techniques, threading and coroutines, and ANRs
- UI Rendering: View-system performance, Jetpack Compose performance (fundamentals and advanced), images and media, and large screens, foldables and high refresh rates
- Memory: memory management, leaks and bloat, and low-memory behavior and process death
- Battery, Network & Storage: power efficiency, network performance, and databases and serialization
- Build, Size & Release: R8 and code shrinking, app size, build speed, and preventing regressions in CI/CD
- Advanced Topics: native code, Vulkan and media pipelines, on-device AI performance, thermal and adaptive performance, and real-world case studies
- Appendices: a command cheat sheet, Perfetto SQL recipes, performance checklists and a metric reference
WHAT MAKES IT DIFFERENT
Evidence over folklore. Every chapter opens with an incident in a fictional grocery-delivery app and follows it from symptom to trace to fix with concrete numbers, then moves on to concepts, pitfalls, a hands-on lab, a checklist, key takeaways, exercises, version notes and further reading. The app and its figures are illustrative worked examples, not real benchmarks.
WHO IT'S FOR
Android developers comfortable with Kotlin, Views, Jetpack Compose or both. No prior profiling experience is required. Start with whatever is hurting your app today, since each part stands on its own after the foundations.