How Baseline Profiles Improve Skeelo Android App Performance
Article Summary
Skeelo's Android app had a problem: too many users were experiencing painfully slow startup times. They needed a solution that didn't require rewriting their entire codebase.
The Skeelo engineering team noticed alarming startup metrics in Google Play Console, with significant percentages of sessions hitting slow thresholds (5+ seconds for cold starts, 2+ for warm, 1+ for hot). They turned to Baseline Profiles and Startup Profiles to optimize performance.
Key Takeaways
- Baseline Profiles precompile critical code paths to skip interpretation overhead
- Startup Profiles optimize DEX file layout to reduce page faults
- Implementation achieved 58% reduction in slow startup sessions
- Benchmarked performance against Kindle, Audible, Goodreads, and other competitors
- Solution required minimal code changes with straightforward implementation
By implementing Baseline and Startup Profiles, Skeelo reduced slow startup sessions by approximately 58% and earned praise across teams for noticeably faster app performance.
About This Article
Skeelo's Android app had startup speed issues across multiple states. Cold starts took over 5 seconds and warm starts took over 2 seconds, which happened in a significant portion of user sessions compared to competitors like Kindle and Audible.
The Skeelo engineering team used Baseline Profiles to precompile critical code paths and Startup Profiles to optimize DEX file layout. This reduced interpretation overhead and page faults when the app started up.
The optimization cut the number of sessions with slow startup times by about 58%. Cold and warm starts saw the most improvement, and the faster performance was recognized across the team.