Classify the waiting time
Use the profiling guide to separate CPU work, blocked threads, memory pressure, rendering and network waiting.
| Symptom | First investigation |
|---|---|
| Slow first launch | Initialization and startup trace |
| Choppy scrolling | Long frames and rendering work |
| Repeated pauses | Allocation and garbage-collection pressure |
| Growth after repeated navigation | Retained objects and memory ownership |
| Loading spinner with idle CPU | Network, locks or asynchronous completion |
A visual symptom is a starting hypothesis, not a root cause.
Change one mechanism at a time
For a heavy decode, test right-sized images and background work. For repeated network calls, test lifecycle ownership and caching. For startup, defer work that is not required for the first usable screen.
Keep correctness constraints explicit. Returning an empty result quickly is not a successful optimization of a real data-loading task.
Use realistic input sizes
Benchmark typical and high-end supported workloads. A change that helps a tiny test document may fail on a large file because its memory behavior scales poorly.
Also test cancellation and repeated use. Work continuing after a screen closes can consume resources even when the visible flow appears fast.
Compare like for like
Use the same build type, device, data, thermal conditions and metric boundary. Retain before/after traces, not just a rounded percentage.
Check for trade-offs: a larger cache may improve repeat access while increasing memory pressure; aggressive preloading may improve one screen while slowing startup.
Turn the gain into a regression guard
Add a repeatable benchmark or scenario around the fixed bottleneck. APKLint's Performance Checker can structure the review, but it cannot supply runtime evidence from static package metadata. Publish an optimization claim only with a defined workload and measured result, not an assumed benefit from a configuration flag.
Sources and further reading
- Android Developers: Profile your app performance
- Android Developers: App startup time
- Android Developers: Slow rendering
- Android Developers: Manage your app memory
Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.



