Как анализировать память с помощью Android Studio

Недавно переключился на андроид студию от затмения. Как проверить кучу приложений и распределение памяти в андроид студии? В Eclipse у нас есть MAT, есть ли что-нибудь в студии, чтобы проверить дамп кучи, файл hprof?

9 ответов

Решение

Я объясню это простым способом с помощью шагов:

  1. Сначала вы должны установить MAT ( скачать) или использовать:

    заваривать бочку установить память анализатор

  2. В Android Studio откройте Android Device Monitor или DDMS.

  3. Выберите ваш процесс "com.example.etc.."

  4. Нажмите Update Heap над списком процессов.

  5. На правой панели выберите вкладку "Куча".

  6. Нажмите в Причину GC.

  7. Нажмите Dump HPROF file над списком процессов.

  8. Когда мы загрузили файл HPROF, мы должны открыть терминал и запустить эту команду, чтобы сгенерировать файл, чтобы открыть его с помощью MAT.

  9. Откройте терминал и выполните эту команду

./hprof-conv path/file.hprof exitPath/heap-convert.hprof

Команда "hprof-conv" находится в папке platform-tools в sdk.

  1. И готов, и MAT может открыть и открыть конвертированный файл ( heap-convert.hprof) .

Есть еще один способ увидеть распределение:

Запустить и остановить отслеживание распределения

Увидеть результат

Монитор Android -> Мониторы (кроме logcat) -> Память -> свалить кучу Java

введите описание изображения здесь

  1. Сначала установите MAT, чтобы использовать его в Android Studio, выберитеStand-alone Eclipse RCP Applications установить, который можно использовать как самостоятельный инструмент

  2. В Android Studio запустите ваше приложение

  3. На нижней боковой панели выберите 6:Androidзатем выберите Memory Monitor

  4. Нажмите Dump Java Heap

  5. Переключитесь на вкладку Captures (в левой панели), вы можете найти .hprof файл в Heap Snapshot папка

  6. Для того, чтобы открыть .hprof файл в MAT, вы должны преобразовать формат: щелкните левой кнопкой мыши на .hprof файл, затем выберите Export to standard .hprof

  7. Откройте MAT, затем откройте .hprof файл, который вы конвертировали в формат

Можно также сделать следующее, чтобы получить больше возможностей,

  1. Перейти в Инструменты
  2. Тогда на Android
  3. наконец, к Android Device Monitor

Я согласен с вышеуказанным ответом, за исключением следующих шагов

  1. Нажмите Update Heap над списком процессов.

  2. На правой панели выберите вкладку "Куча".

  3. Нажмите в Причину GC.

Они не нужны. Просто выберите ваше приложение / процесс в DDMS и щелкните, чтобы сбросить опцию профиля HPROF. После этого следуйте инструкциям, описанным выше.

Я перешел с Eclipse на Android Studio, но все еще использую MAT в Eclipse с плагином DDMS. Это намного проще.

Обратите внимание, что в последней версии Android Studio (1.3+) захват кучи (Android hprof) был перемещен во вложенную вкладку "Монитор памяти" на вкладке "Android" (как и первое изображение в ответе cVoronin).

Когда захват будет завершен, он будет автоматически сохранен в папке "captures" вашего проекта (вы можете переименовать файл после факта, если хотите). Файл hprof будет автоматически открыт в новой программе просмотра hprof в версии 1.3+.

Конечно, у вас всегда есть возможность преобразовать его в стандартный формат hprof и просмотреть его в MAT. Просто щелкните правой кнопкой мыши файл в браузере Captures (под браузером Project) и выберите команду конвертировать. И, как обычно, вы потеряли бы некоторую дополнительную специфичную для Android информацию, если бы не использовали новый просмотрщик, так как стандартный hprof их не поддерживает.

Я знаю, что это довольно старый вопрос, но в Android Studio 3 теперь есть встроенный профилировщик.

Смотрите документацию здесь: Android Profiler в Android Studio 3.0

Вы можете использовать профилировщик Android в новой студии Android.

Другие вопросы по тегам