Android Architecture Components Considered Harmful
summary
Android Architecture Components (LiveData, LifecycleOwner, ViewModel) often increase coupling and complexity: LiveData replaces a simple three-actor observer with five objects and seven communication paths, hides the observer interface, and exposes an observedForever API that easily causes leaks. ViewModel does not replace save/restore, adds a second lifecycle to manage, and can introduce memory leaks if it holds Context; rotation optimization benefits are tiny — under 5% of screens — while many devices (≈50%+) trigger frequent save/restore, so these libs often complicate rather than simplify.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:30What is Architecture
- 3:20Architecture Approaches
- 5:25Who are these people
- 6:10Evolve II
- 6:55Architecture
- 9:25Libraries
- 12:30Uncle Bob
- 13:00Android Architecture Companies
- 14:10Naming
- 15:10Design Implementation
- 15:40Live Data
- 19:30Live Data vs Observer
- 23:17Custom Observer Pattern
- 27:11Live Data Observer
- 31:06ViewModel
- 33:59HumanAuto
- 36:03Save and Restore
- 40:12Memory Leak
- 42:04Summary
- 43:21Questions
related talks
47mAndroid Architecture Component
44mAndroid Architecture Components, a New Way to Build Apps
28mInternals of Android Architecture Components
33mThe A,B and C of Lifecycle Components
44mARCH Components
31mAndroid Architecture Components
42mArchitecture Components: A Better Path Forward (Lifecycle & Live Data)
38mAndroid Architecture Components
