How we sped up Dropbox Android app startup by 30%

This post details the process of identifying and resolving performance bottlenecks in the Dropbox Android app startup. Key contributions include: 1. Implementing detailed in-production scenario and step measurements to track app initialization phases (migrations, service loading, user loading). 2. Identifying Firebase Performance library initialization as a significant contributor to startup time and removing it due to its high initialization cost and limited utility for the team. 3. Optimizing migrations by removing outdated or non-essential steps. 4. Addressing expensive JSON parsing for user contacts by introducing caching of parsed user objects during initialization, with a long-term plan to use Room database objects. These efforts resulted in a 30% improvement in app startup time. The post also highlights adopted practices for measuring third-party library impact and aggressive caching to prevent future performance regressions.