Ошибки APK

Краш OutOfMemoryError

Текст ошибки

java.lang.OutOfMemoryError: Failed to allocate a 33177612 byte allocation with 25165824 free bytes and 24MB until OOM

Причина

Приложение превышает лимит памяти, выданный устройством. Обычно виноваты большие изображения, утечки объектов или огромные списки.

Решение по шагам

  1. Следи за памятью через dumpsys meminfo.
  2. Загружай изображения в размер экрана, а не целиком (Glide, Coil или inSampleSize).
  3. Ищи утечки: статические ссылки на Activity, неудалённые слушатели (LeakCanary).
  4. Для длинных списков используй RecyclerView и пагинацию.
  5. largeHeap лишь временная мера; исправь настоящую причину.

Примеры команд

adb shell dumpsys meminfo com.example.app
adb shell am dumpheap com.example.app /data/local/tmp/h.hprof
# manifest
<application android:largeHeap="true" ...>

Как не повторить

Запускай LeakCanary в debug и проверяй профиль памяти после каждой крупной функции.

Автор и лицензия: Nibras Code