Users don't read your changelog — they feel slow launches, stutter, and battery drain. These three metrics drive reviews and retention. Here's how to profile and fix each.
1. Startup Time
- Defer heavy initialization (analytics, SDKs) until after the first frame.
- Lazy-load modules and screens instead of importing everything at boot.
- Show a lightweight splash, then hydrate — don't block on network at launch.
2. Memory
Memory leaks cause crashes on low-end devices. Dispose controllers, cancel subscriptions, and size image caches. Profile with Flutter DevTools' memory view or Xcode Instruments to find retained objects.
3. Battery
- Batch network requests instead of polling frequently.
- Release location and sensor listeners when screens are backgrounded.
- Avoid unnecessary rebuilds and animations running off-screen.
Measure on Real, Cheap Devices
Your flagship phone hides performance problems. Test on a low-end Android device — that's where jank, OOM crashes, and battery drain actually show up.
