Skeelo Seiji Fukuoka Jun 12, 2024

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

Critical Insight

By implementing Baseline and Startup Profiles, Skeelo reduced slow startup sessions by approximately 58% and earned praise across teams for noticeably faster app performance.

The team admits there's still work to do on hot start optimization, and they're exploring additional solutions to push performance even further.

About This Article

Problem

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.

Solution

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.

Impact

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.