Неожиданная ошибка при обработке файла hprof: null

У меня большая проблема с памятью на определенных устройствах, где тонкая память выделяется из ниоткуда. Я пытаюсь сделать heapdump, чтобы выяснить, что выделяет память, но когда я пытаюсь открыть файл heapdump, я получаю сообщение об ошибке в Android Studio:

HprofView - Unexpected error while processing hprof file: null

Ошибка возникает

Я сделал несколько поисков в Интернете, но, насколько я могу судить, никаких ссылок на эту ошибку нет. Мне просто нужна помощь в получении дампа кучи, я могу исправить свое приложение оттуда.

Изменить: Я попытался преобразовать файл дампа, но это дало мне еще одну ошибку:

Convert Android Java Heap Dump - Unexpected error while converting heap dump: ERROR: read 16710959 of 33177623 bytes

ошибка при попытке экспорта в стандартный hprof

Ответ 1

Я не могу дать окончательный ответ, но, по моему опыту, это похоже на то, что приложение близко к пределу использования памяти. Это явно не идеально, когда вы пытаетесь отладить OutOfMemoryError!

2 вещи, которые я могу предложить, чтобы обойти проблему:

  • Попробуйте использовать другое устройство/эмулятор. например Я обнаружил, что эта проблема довольно часто встречается на моем Samsung S5, но случается реже на моем Nexus 4.
  • Приостановите приложение за некоторое время до того, как оно закончится, а затем получите кучу кучи в этой точке. Это не идеально, но утечки памяти, как правило, вызывают проблемы со временем, а не сразу, поэтому вы все равно сможете диагностировать утечку.