~/talk

Compose at Scale: Stop Unnecessary Recomposition

Talkat droidcon London 2025 · 2025-10-30..10-31· [android, frontend-architecture]
links:none on file
slides:none on file

Claims that tiny code changes can create big CPU bottlenecks by breaking Compose’s skip logic, with common culprits being unstable parameter types, captured lambdas, mutable domain models and misused annotations. Shows using Compose 1.9 recomposition callbacks plus layout inspector and profile traces to pinpoint which value change caused each recomposition, and describes fixes: enable strong skipping flag, mark types @Stable/@Immutable or register them, prefer deferring reads and passing state as lambdas, use remember and read-only composable; measurements and linters validate that these changes actually cut wasted recomposition.

AI-written summary · about

  1. 0:00Compose adoption at scale
  2. 1:10Recomposition triggers
  3. 3:57Recomposition scopes
  4. 6:09Optimizing with stability flags
  5. 8:38Collections and state pitfalls
  6. 10:49LazyList and effects misuse
  7. 11:12Detecting recomposition issues
  8. 13:18Compose tracing tools
  9. 14:21Minimizing recomposition
  10. 17:48Lambda impact on recomposition
  11. 20:25Compose annotations best practices
  12. 22:35Large-scale Compose recommendations
  13. 25:11Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.