~/talk

Major Savings with App Startup Shaving

Talkat droidcon New York 2023 · 2023-09-14..09-15· [web-performance, android]
name:John Li
links:none on file
slides:none on file

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

  1. 0:00Introduction to talk
  2. 1:13What is app startup
  3. 2:57Why optimize startup time
  4. 3:19Deferral patterns basics
  5. 5:47Dynamic feature modules
  6. 8:15Deferring third-party work
  7. 9:18Parallel performance patterns
  8. 12:59Divide and conquer parallelism
  9. 15:28Jetpack App Startup library
  10. 17:13Optimizing content providers
  11. 19:42Closing thoughts
~/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.