Blast Off: Managing Hundreds of UI Updates for Emoji Cannons
summary
Demonstrates an emoji cannon built with Jetpack Compose using Animatables, coroutine-driven animateTo, and graphicLayer/lambda modifiers to avoid constant recomposition; firing 10,000 emojis reveals a 12-second GC freeze that is fixed by removing finished items from state and wrapping each emoji with key utility function so children don’t recompose. Uses a ViewModel holding a UID set (backend sends unicode+UID), achieves no crazy recompositions and scales to ~100,000 simple composables. use lambda modifiers
AI-written summary · about
chapters (7)
- 0:00Introduction and demo
- 3:39Recomposition count explosion
- 6:34Frame skipping and memory freeze
- 8:41Dancing emojis on removal
- 10:45Memory cleanup and smooth removal
- 12:07Production use case in Tilt
- 13:53Key takeaways and summary
related talks
21mBlast Off: Managing Hundreds of UI Updates for Emoji Cannons
36mBuild The Million-Dollar Animation
36mPractical implementations of powerful UI expressions using Jetpack Compose
32mJetpack Compose for Games & Animations
39mMagic Sprinkles: Adding animations to your app with Jetpack Compose
34mHigh-Performance, Expressive Remote UI: Deep Di…
31mDesigning Media Friendly Jetpack Compose Components
21mAnimations with Jetpack Compose
