From Debugging to Real-World Tuning: A Practical Guide to Compose Performance
summary
TikTok relataes a reproducible Compose performance workflow: use Layout Inspector, BTrace-style traces and macrobenchmark to pinpoint whether bottlenecks sit in composition, measure/layout or draw; a lazy grid measurement spike at 600 ms lazy grid measure reveals thousands of items being remeasured; engineers build an online hook for recomposition counts to monitor production at scale for tens of millions DAUs; mitigations include state scoping, remember for modifiers, adding a baseline profile + merged lambdas step (Radex) and the changes measurably reduce recompositions and UI jank.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:07Compose performance fundamentals
- 4:42Identifying performance issues offline
- 8:35Debugging recomposition with breakpoints
- 10:00Advanced tracing for performance analysis
- 12:32Benchmarking Compose UI performance
- 16:03Online monitoring of recomposition
- 18:53Product team optimizations
- 21:00Reducing recomposition with derived states
- 23:49Stabilizing modifiers
- 24:10TikTok story album tuning
- 27:24Baseline profiles for startup
- 29:31Merging lambdas to reduce overhead
- 31:22Q&A
related talks
45mBoosting Compose UI from Sluggish to Snappy
40mBoosting Compose UI from Sluggish to Snappy
35mEnhancing Jetpack Compose App Performance:Tools, Strategies and Optimizations
21mMore performance tips for Jetpack Compose
37mPerformance in Compose:Lessons learned from Lazy layouts
21mPerformance best practices for Jetpack Compose
37mUsing Performance Management Tools: Firebase Performance Monitoring and Macrobenchm…
28mChasing 60 FPS: Frame Time Profiling in Jetpack Compose
