Mobile performance: memory, battery and the feel of speed
The three sources of slowness
Work on the main thread. Decoding images, reading files, processing lists. Anything taking more than a few milliseconds there looks like a stutter.
Images. In memory, an image weighs by its pixel count, not its file size. Downscale before display and release from the cache.
Needless network. Duplicate requests on launch, frequent polling and background downloads — all paid for in battery, which is the metric the user attributes to the app even without measuring.
Launch time
Defer any initialization not required for the first screen: analytics, third-party libraries, loading settings. A long splash screen is the first impression, and it's measured in stores too.
What to measure
Time to interactive screen, share of dropped frames on scroll, crashes per thousand launches, and battery consumption. Measure on an old device — that's what a large share of users have.
Going deeper
Collect performance metrics from the field, not just the lab, broken down by model and OS version. Performance issues almost always concentrate in one group of devices, and an overall average hides them completely.