High performance in Android
summary
Lists concrete limits and tools: UI must hit 0.1s / 1s / 10s limits to avoid jank or ANRs; use Traceview and DDMS (allocation tracker, network tagging, heap viewer) plus Hierarchy Viewer and GPU rendering to find slow frames. Remove default window background, use merge/include/ViewStub to cut layout depth; prefer @IntDef over enums for smaller dex, avoid static Views and cancel async subscriptions to prevent memory leaks; batch/prefetch network calls, respect connectivity classes, and use exponential backoff to save battery.
AI-written summary · about
chapters (52)
- 0:00Intro
- 1:02How did we start
- 2:12What is performance
- 2:24What does it mean
- 2:36Energy battery
- 2:55Programming pattern
- 3:38Security
- 4:33Debugging
- 4:56User engagement
- 6:54Responsiveness
- 7:56Error
- 8:21Long operations
- 8:57Background operations
- 9:28Splatter screen
- 10:16Services
- 10:43DBMS
- 13:08Networking
- 15:00MPSC
- 16:02Layout
- 17:17CoreView
- 18:22Layouts
- 19:21Merge Layout
- 21:07ComplexView
- 21:35Hierarchy viewer
- 22:31Emulator
- 23:49Memory
- 24:10Good or bad
- 24:46Which is more expensive
- 26:06Humans are readable
- 26:22Calculate surface
- 26:56Indepth annotation
- 27:38Start right from the beginning
- 28:20Always try to do this
- 28:35Static variables
- 29:34String buffer
- 30:01Huge database
- 31:07Static fields
- 32:42Memory leaks
- 33:50Weak references
- 35:07evan
- 35:19Spreading
- 35:42Tasks
- 36:28Path Loader
- 36:51Syntax Loader
- 37:23Intent Services
- 37:36Network
- 38:01Network types
- 40:03Around queue
- 40:21Catching responses
- 40:49Modified
- 41:06Exponential
- 42:01Feedback
related talks
40mAndroid high performance baby
46mDeveloping for Android: the Naughty Bits
33mUI profiling in examples. Where is my bottleneck?
53mPractical Performance Tuning on Android
37mUI profiling in examples. Where is my bottleneck?
53mGraphics Something Android Something Performance
43mPerformance in a Kotlin World
40mAndroid Graphics Performance
