Written by Gowtham Raj, Director at TartLabs, whose teams deliver mobile app development projects for startups and established businesses.
The Short Answer
Optimize a mobile app by setting measurable performance budgets, then working through five areas in order: startup, stability, rendering, networking and battery. Measure on real mid-range devices, fix the slowest user-facing path first, and track the same numbers after every release. Users judge performance by feel, so the work that matters is what they notice: how fast the app opens, whether it freezes, and whether it survives a weak connection.
The stakes are visible in user surveys. Luciq's February 2026 report, No Margin for Error, surveyed more than 1,000 U.S. app users. It found that 15.4% say they uninstall an app after a single crash, and another 50.4% leave after two or three. These are self-reported attitudes rather than measured behavior, but the direction is consistent: a crash is costly.
Key Takeaways
- Set budgets first. Google Play flags apps that exceed a 1.09% user-perceived crash rate or a 0.47% user-perceived ANR rate, and may reduce their visibility.
- Startup has published limits. Android vitals treats a cold start of 5 seconds or more, a warm start of 2 seconds or more and a hot start of 1.5 seconds or more as excessive. Aim well inside them.
- Fix the main thread. Android documents ANRs as the result of the main thread being blocked, so keep slow work off it.
- Treat the network as unreliable. Cache, batch, compress and design for offline, because real users are on weak connections.
- Measure in the field. Lab tests on a flagship phone hide what users on older devices see.
Set Performance Budgets Before You Optimize
Optimization without a target never ends. Write down numbers the team agrees on, then check them in every release.
| Area | Budget to set | Where the number comes from |
|---|---|---|
| Cold start | Set your own target inside the 5-second limit, for example 2 seconds, measured on a mid-range device | Android vitals flags 5 seconds and above as excessive |
| Crash rate | Target well under 1.09%; the Play limit is 1.09% of daily active users with a user-perceived crash |




