Turo Pavlo Stavytskyi

How Turo Reduced Its Android Startup Time by 77%

Original post How We Reduced Our Android Startup Time by 77%

Article Summary

Turo's Android team slashed their app startup time by 77%. Here's how they turned a sluggish launch into a lightning-fast experience.

The Turo Engineering team tackled one of mobile's toughest challenges: cold startup performance. Their approach combined eliminating blocking network calls, optimizing I/O operations, and leveraging Android's latest APIs to dramatically improve user experience.

Key Takeaways

Critical Insight

By removing synchronous network calls, optimizing disk I/O, and applying Baseline Profiles, Turo reduced cold startup time by 77% on average (84% at p50).

Continue reading

What This Article Covers

Problem

Turo's Android app made multiple synchronous network requests when starting up to fetch feature flags and route users. This caused inconsistent startup experiences depending on whether someone was a guest, host, or unauthenticated user.

Solution

Pavlo Stavytskyi's team switched to asynchronous feature flag fetching. The app now shows a home screen skeleton while requests happen in the background and defaults to the home screen for most users instead of blocking on redirect scenarios.

Impact

Feature flag requests no longer block startup. They complete in the background using cached values, so subsequent app launches don't need to show loading skeletons at all.

The team discovered that measuring startup time accurately was almost as challenging as optimizing it, requiring creative solutions to filter out misleading data.

This page summarizes “How We Reduced Our Android Startup Time by 77%” by Turo, published Sep 20, 2022. All credit for the original work goes to the authors.

Read the original on medium.com (opens in new tab)

AI tools for Android

Browse all AI tools →