Performance in a Kotlin world
summary
Uses Android Studio Profiler (CPU, memory, network, energy), Jetpack Benchmarking, and Systrace to find real bottlenecks: a schedule screen renders twice and runs heavy list transformations but the hotspot is timestamp truncation and header string creation, not list-copy allocations. Fixes include caching transformed data, lazy header thunks (adds allocations but reduces main-thread work), and options like async layout inflation or prepopulating RecyclerView pools. Benchmarks run release builds repeatedly to get stable numbers; Systrace pinpoints skipped frames and per‑CPU scheduling during flings.
AI-written summary · about
chapters (13)
- 0:00Introduction to performance
- 3:40Measuring performance goals
- 4:23Android Studio profilers overview
- 6:46CPU profiler deep dive
- 12:23Kotlin performance problems
- 16:36Flame chart analysis
- 20:07Optimizing Kotlin code
- 24:16Fully optimized code pitfalls
- 24:37Benchmarking basics
- 27:26Android Studio benchmark module
- 30:13Systrace profiling demo
- 33:20Systrace advanced features
- 34:03Summary and Q&A
related talks
37mImproving app performance with benchmarking
42mKotlin Perfomance on Android
45mFinding and Fixing Performance Problems
35mIn Search of Performance: the Subtle Art of Android Profiling
31mImprove app performance with Android Studio Profilers
38mKotlin High-Performance Programming
33mAndroid Benchmarking and other stories
40mMonitor App performance using Jetpack Benchmark
