How We Sped Up Dropbox Android App Startup by 30%
Article Summary
Dropbox's Android app was slowly dying by a thousand cuts. Over 4 months, startup time crept up unnoticed until they finally looked at the bigger picture.
The Dropbox Android team shares how they discovered their app startup had degraded over months, then systematically measured and fixed the issues. With over 1 billion installs, they needed production data, not just test device profiling.
Key Takeaways
- Firebase Performance library alone caused 7x slower initialization during startup
- Instrumented production metrics for each initialization step to find real bottlenecks
- Removed unnecessary migrations running on every launch, especially slow on older devices
- Cached expensive JSON parsing that was redundantly converting user data multiple times
- Now require measuring startup impact before adding any third party library
By removing Firebase Performance, eliminating redundant migrations, and caching user loading, Dropbox cut Android app startup time by 30%.
About This Article
Dropbox's monitoring charts only showed two-week windows. This meant a multi-month slowdown in app startup performance went unnoticed as the team kept adding features.
The team added detailed production instrumentation by inserting scenario steps to measure each initialization phase. They tracked migrations, service loading, and user loading across their 1 billion+ user base.
Better monitoring dashboards revealed that Firebase Performance library initialization was 7x slower than it should have been. Removing it, along with redundant migrations and user object caching, cut app startup time by 30%.