OutOfMemoryError crash
Error text
java.lang.OutOfMemoryError: Failed to allocate a 33177612 byte allocation with 25165824 free bytes and 24MB until OOM
Cause
The app exceeds the memory limit the device gives it. Big images, leaking objects or huge lists are the usual culprits.
Step-by-step fix
- Watch memory use with
dumpsys meminfo. - Load images at screen size, not full size (Glide, Coil or
inSampleSize). - Hunt for leaks such as static references to an
Activityor listeners never removed (LeakCanary). - Use
RecyclerViewand paging for long lists. largeHeapis only a stopgap; fix the real cause.
Example commands
adb shell dumpsys meminfo com.example.app adb shell am dumpheap com.example.app /data/local/tmp/h.hprof # manifest <application android:largeHeap="true" ...>
How to prevent it
Run LeakCanary in debug and check the memory profile after each big feature.
Author and license: Nibras Code
- APK will not install
- What is a parse error?
- The keystore is lost
- The signatures do not match
- Package name error
- The APK file is damaged
- Play Protect blocks the app
- The package appears to be invalid
- Not enough storage
- The phone is not compatible
- An older version will not install
- XAPK will not install
- Gradle sync failed
- Could not resolve a dependency
- Duplicate class error
- Manifest merger failed
- Dex limit: 65536 methods
- R8: Missing class
- JDK version mismatch
- SDK location not found
- minSdkVersion conflict
- compileSdk is too low
- EAS build: Gradle failure
- expo prebuild error
- Metro: Unable to resolve module
- Hermes: JS error only in release
- White screen in release
- Red screen: cannot reach Metro
- Expo SDK mismatch
- Capacitor sync error
- Capacitor: white screen
- EAS: keystore and credentials error
- Keystore was tampered with / wrong password
- Wrong key alias or password
- Play: signed with the wrong key
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- Parse error (problem parsing the package)
- "App not installed" error
- Installing an AAB file on a phone
- adb: device "unauthorized"
- adb: device not found
- adb server version mismatch
- Activity class does not exist
- Play: targetSdk level too low
- Play: permissions policy rejection
- Play: 64-bit requirement
- Play: versionCode already used
- ClassNotFound / NoSuchMethod crash
- CLEARTEXT communication not permitted
- SecurityException: permission denied