2016-01-08 13 views
0

Я пытаюсь увидеть, какие объекты занимают большую часть памяти в моем приложении.
Используя Android-студию Android-> Memory, я вижу, как увеличивается память, но я не вижу, какие объекты занимают сколько памяти.
Я использовал DDMS для получения hprof, а также выполнил начальное отслеживание алокации и «Dump Java Heap» на вкладке «Память».
Я установил автономный коврик, но когда я пытаюсь открыть hprofs я получаю для обоих:Как я могу найти, какие объекты занимают большую часть памяти в приложении Android?

Ошибка открытия дампа кучи «Snapshot_2016.01.08_19.00.05.hprof». Проверьте журнал ошибок для получения более подробной информации.

В чем проблема?
Моя версия Android Studio является 1.3.2

ответ

1

Использование студии Андроида Android-> вкладка памяти можно увидеть, как увеличение памяти, но я не могу видеть, какие объекты занимают сколько памяти

Вы можете создать кучу дампа в Android Studio, с панели инструментов на вкладке «Память». Это откроет инструменты, похожие на MAT, чтобы вы могли узнать, какие объекты находятся в памяти.

Android Studio 1.5.1, Showing Heap Dump

Ошибка открытия дампа кучи 'Snapshot_2016.01.08_19.00.05.hprof'. Проверьте журнал ошибок для получения дополнительной информации.

Формат дампа кучи, который использует Android, немного отличается от используемого MAT. Существует hprof-conv инструмент в platform-tools/ вашего Android SDK, который может подготовить MAT-friendly издание файла .hprof.

+0

Когда я нажимаю значок «Дамп кучи кучи java для выбранного клиента», он сохраняет hprof в папке. Какие инструменты следует использовать для его открытия? – Jim

+0

@ Jim: С манжетой, похоже, у вас старая версия Android Studio. Всплывающей подсказкой на этом значке в AS 1.5.1 является «Dump Java Heap», и он автоматически открывает кучу кучи в самой Android-студии, как показано на скриншоте в ответе. – CommonsWare

+0

Используя hprof-conv, я смог открыть hprof, используя мат. Значит ли это, что в версиях до 1.5.1 мат является единственным вариантом? – Jim