Major Savings with App Startup Shaving
summary
Claims a concrete win: TTI for a first screen drops from 5.9s to 1.88s — a 69% TTI reduction — by moving expensive work out of startup and using caching and lazy deferral. Shows code-level fixes: lazy delegates and DI Lazy to avoid eager SharedPreferences and heavy SDK init, coroutines/flows to remove race conditions, SplitInstallManager for dynamic feature modules to postpone maps, and a Kotlin coroutine-based parallel initializer that cuts a serial 1600ms startup sequence to about 500ms. Also replaces blocking content providers with Jetpack App Startup initializers.
AI-written summary · about
chapters (11)
- 0:00Introduction to talk
- 1:13What is app startup
- 2:57Why optimize startup time
- 3:19Deferral patterns basics
- 5:47Dynamic feature modules
- 8:15Deferring third-party work
- 9:18Parallel performance patterns
- 12:59Divide and conquer parallelism
- 15:28Jetpack App Startup library
- 17:13Optimizing content providers
- 19:42Closing thoughts
related talks
36mWin on startup time! Improving app launch performance
24mHow to Improve App Startup Time
18mHow we improved our app startup time by 50%
41mBuild apps for Billions
41mModern App Performance
39mAndroid App Performance in a Nutshell
42mPractical Optimizations
38mLow effort, High impact Android performance wins
