2017-01-07 4 views
2

У нас есть приложение, которое прыгает с 30-мегабайтного распределения памяти до более 500 МБ при навигации между действиями. Я могу отслеживать распределения, пока это происходит, и см., ЧТО хранится в памяти, но я хочу создать файл HPROF кучи, поэтому я могу загрузить его в MAT и получить лучшее представление о том, что использует эту память.Куча дампа с высоким распределением памяти в Android Studio никогда не заканчивается

Однако, когда я пытаюсь создать дамп, он просто показывает пунктирную линию и прядильщик на графике памяти, и это продолжает (казалось бы) без конца. Я могу создавать дампы с меньшим распределением без каких-либо проблем, но с выделенным 500 МБ, я не могу это сделать.

Я искал известные проблемы с этим сценарием, но не могу их найти. Есть ли параметр, который я могу изменить, чтобы помочь ему, или что-то, что я могу сделать для устранения этой проблемы? Без хорошего анализа кучи я слепой относительно того, что происходит с памятью.

Примечание: Я не ищу помощь с самой проблемой памяти, ATM, меня больше всего интересует, как я могу получить кучу кучи для работы.

+1

500MB должно быть намного выше предела кучи вашего процесса, поэтому я не уверен, насколько полезным будет MAT. Но если есть надежный способ, чтобы вы могли попасть в проблемное состояние, напишите для него тестовый пример и посмотрите, удастся ли вам получить файл HPROF [через 'Debug.dumpHprofData()'] (https: // developer.android.com/reference/android/os/Debug.html#dumpHprofData(java.lang.String)). – CommonsWare

+0

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

+0

Команда @commonsware terminal сделала трюк, спасибо! Если вы представите это в качестве ответа, я буду рад принять его. – jkane001

ответ

0

Я уверен, что эта ссылка поможет вам найти вас. Я сделал это путем. Вот ссылка: Memory Profiler

+0

Я ценю ссылку, у нее есть хорошая информация - но я уже знал все это, моя проблема в том, что я не могу получить файл HPROF (как он рекомендует в конце статьи, использовать MAT для углубленного профилирования) генерировать. – jkane001