Understanding Android Runtime (ART) for faster apps
summary
ART downloads Profiles in the Cloud with installs to optimize during installation, producing ~15% faster startup overall and ~18% on YouTube, with ~80% adoption on Play-enabled devices. App images now include common string literals for ~2.5% startup gains. A new unspecialized app process pool pre-forks processes and removes Zygote from the critical path, shaving ~5 ms (with tens of ms possible). Generational CC GC cuts GC CPU by ~38% (H2) and ~33% (Sheets), frees ~178% and ~68% more bytes respectively. Object pooling usually hurts memory; measure before using.
AI-written summary · about
chapters (9)
- 0:00Introduction to ART
- 1:21Profiles in the cloud
- 5:33App startup improvements
- 7:44Process forking changes
- 11:06Measurement and tooling
- 13:13Generational GC
- 22:47Heap compaction strategy
- 30:17Object pooling benchmarks
- 35:31Conclusion
related talks
37mDeep dive into the ART runtime
29mWhat's new in app performance
34mAndroid or the ART of Optimizing Java Code
55mCompilers. Dalvik. ART. And everything in between
39mWhat's new in Android Runtime
16mAndroid ART Optimization in XuanTie C920
38mOptimize your app performance for the next generation of Android
49mKeynote: Android Development
