Developing for Android: the Naughty Bits
summary
Devices often have 512 MB–3+ GB RAM, CPUs and GPUs that are throttled, and storage whose fullness slows writes, so expect pauses, fragmentation and thermal limits. Use Systrace and the overdraw detection tool to find expensive texture uploads, allocations and measure cold starts; aim for 16 ms per frame or drop to 30 fps consistently. Prefer deferring work, batching loads (launcher icon trick), cache data locally, avoid large view hierarchies, and put big images in the large heap or stream them to prevent GC-for-alloc stalls.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 2:13Memory constraints
- 4:52Shared memory environment
- 6:08CPU performance
- 9:01GPU and graphics
- 12:09Garbage collection mechanics
- 15:11ART and memory issues
- 18:26Frame rate consistency
- 20:44Runtime differences
- 22:17Language vs runtime
- 25:22UI thread management
- 26:38Storage performance
- 28:20Network constraints
- 29:27Resource etiquette
- 32:09Optimizing overdraw
- 33:34Window background management
- 36:05Preventing UI stalls
- 38:07View hierarchy optimization
- 39:43Fast application startup
- 42:55Interaction best practices
related talks
45mHigh performance in Android
40mAndroid high performance baby
36mAndroid memory and games
49mKeynote: Android Development
32mOptimizing Android games performance
38mOptimize your app performance for the next generation of Android
53mPractical Performance Tuning on Android
35mThink of the next billion users: Building for Low End devices
