Performance & Crash Debugging

Check Android App Memory Usage: PSS, Heap and Allocation Are Different

Android app memory cannot be summarized accurately by one number labelled “RAM.” Java/Kotlin heap, native allocations, graphics memory and proportional process memory describe different parts of the footprint.

By Updated 2 min read

Choose the measurement for the question

The memory management guide explains process memory behavior, while the Memory Profiler guide describes heap and allocation inspection.

Measurement Useful question
Java/Kotlin heap Which managed objects are retained?
Native allocation Is native code or a library growing?
PSS-style process accounting What share of physical memory is attributed to the process?
Allocation rate Is the app creating excessive temporary objects?

Do not compare these values as if they used the same accounting basis.

Capture a reproducible lifecycle

Record a baseline, open the feature, load realistic data, leave the feature and repeat. Look for retained growth after work should have been released, not merely a high peak during a legitimate operation.

A command-line snapshot can help:

BASH · REFERENCE EXAMPLE
adb shell dumpsys meminfo com.example.app

Replace the package with your app and interpret the output for the device version. One snapshot cannot prove a leak.

Follow ownership in a heap dump

Use reference paths to determine why an object remains reachable. A destroyed activity retained by a singleton, listener or long-lived callback is more actionable than a chart saying memory increased.

Heap capture and allocation recording can require a debuggable setup and add overhead; use the profiler's documented requirements.

Test pressure, not just abundance

Large images, repeated navigation and low-memory devices can expose failures absent on a high-RAM phone. Check that caches have bounds and expensive data can be recreated.

Keep the result interpretable

Record build, device, scenario and measurement type. APKLint's Performance Checker can support the investigation plan, but it does not measure process memory from an APK. Attach the actual snapshots, retained-reference evidence and repeated-flow result to the fix.

Sources and further reading

  1. Android Developers: Inspect memory usage
  2. 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.

APKLint

Android inspection tools and practical release guides. About APKLint · Report a correction