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

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

Ответ 1

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

  • Сначала у вас установлена ​​ MAT (download) или используйте:

    brew cask install memoryanalyzer

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

  • Выберите свой процесс "com.example.etc.."

  • Нажмите "Обновить кучу" над списком процессов.

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

  • Нажмите "Причина" GC.

  • Нажмите Dump HPROF файл над списком процессов.

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

  • Откройте терминал и запустите эту команду

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

Команда hprof-conv находится в папке инструментов платформы sdk.

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

Ответ 2

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

Start and stop allocation tracking

See the result

Ответ 3

Монитор Android → Мониторы (кроме logcat) → Память → Dump java heap

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

Ответ 4

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

  • Нажмите "Обновить кучу" над списком процессов.

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

  • Нажмите "Причина" GC.

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

Ответ 5

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

  • Перейдите в Сервис
  • Затем Android
  • наконец, Монитор устройств Android

Ответ 6

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

  • В Android Studio запустите приложение

  • На нижней панели выберите 6:Android, затем выберите Memory Monitor

  • Нажмите Dump Java Heap

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

  • Чтобы открыть файл .hprof в MAT, вы должны преобразовать формат: щелкните левой кнопкой мыши по файлу .hprof, затем выберите Export to standard .hprof

  • Откройте MAT, затем откройте файл .hprof, который вы преобразовали в формат

Ответ 7

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

Ответ 8

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

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

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

Ответ 9

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

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