Composables in Views: Interoperability and the Clash of Lifecycles
summary
Discusses migrating a Design System to Jetpack Compose and the performance challenges encountered when embedding Composables inside traditional Views. Explains lifecycle mismatches between Composables and Views (for example when using Compose inside a RecyclerView), and presents pragmatic strategies and concrete optimizations to improve interoperability and preserve performance during Compose migration.
AI-written summary · about
chapters (21)
- 0:00Compose intro
- 1:04Back Market context
- 2:10Aragorn vs Scooby method
- 3:13Scooby method principle
- 4:39Interop with AbstractComposeView
- 6:43Progressive Compose adoption
- 7:26Performance after migration
- 9:13Frozen frames investigation
- 12:29Discovering ComposeView
- 15:21ComposeView lifecycles
- 22:45Compose in RecyclerView
- 25:11View Composition Strategy
- 27:45Default ComposeView behavior
- 30:16Nested RecyclerView solution
- 33:28Out of Memory issues
- 36:17Other composition strategies
- 38:29Experience feedback
- 40:13Replace nested RecyclerView
- 41:18Android lifecycle importance
- 42:21View Composition Strategy role
- 43:05Q&A
related talks
33mMigrating to Jetpack Compose - an interop love story
43mSwitching to Compose? Don’t Rush!
38mViews, Compose, Multiplatform - Oh My!
37mAdopting Jetpack Compose Safely
22mCompose Migration Side Effects - What Can Go Wrong?
38mFrom Android View to Jetpack Compose — A Guide to Migrating to Jetpack Compose
25mWhat can we learn from Jetpack Compose?
36mCoupling Compose- Interoperability in a Legacy Codebase
