Як аналізувати пам’ять за допомогою android studio


74

Нещодавно перейдіть на android studio з eclipse. Як перевірити купу додатків та розподіл пам'яті в Android Studio? У Eclipse у нас є MAT, чи є щось у студії для перевірки дампа купи, файлу hprof?

Відповіді:


120

Я поясню це простим способом із кроками:

  1. По-перше, ви маєте встановити MAT ( завантажити ) або використовувати:

    заварити бочку встановити

  2. В Android Studio відкрийте Android Device Monitor або DDMS.

  3. Виберіть процес "com.example.etc .."

  4. Клацніть Купу оновлення над списком процесів.

  5. На правій панелі виберіть вкладку «Купи».

  6. Клацніть на Причина GC.

  7. Клацніть Дамп файлу HPROF над списком процесів.

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

  9. Відкрийте термінал і запустіть цю команду

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

Команда "hprof-conv" знаходиться в папці інструментів платформи sdk.

  1. І Ready і MAT може відкрити та відкрити перетворений файл (heap-convert.hprof).

цікаво, що має статися при скиданні hprof; після натискання цієї опції нічого не здається. У який момент має бути будь-яка ознака того, що він завершив дамп, і куди він подає вихідні дані? Дякую.
wkhatch

1
@wkhatch, відображення діалогового вікна може зайняти деякий час. Ви повинні побачити вікно із запитом про місце збереження. Якщо це допомагає комусь іншому, я не розумів, що посилання для завантаження MAT - це автономне завантаження (відкрите mat.app). Я думав, що це посилання лише на плагін Eclipse.
loeschg,

Дякую @loeschg. Я змусив це працювати ще в одній спробі. З якихось причин він просто поклав слухавку перші кілька разів, коли я спробував.
wkhatch

14
В останніх версіях Android Studio (1.2.x) дамп купи можна швидко створити за допомогою: вкладки «Android» (6)> підвкладки «Пам'ять»> піктограми «Дамп Java Heap»: Це створить і завантажить файл .hprof до папки з назвою captures у вашому проектному папці . Після цього кроки 9-10 опису @ TeRRo завершать роботу.
d4vidi

@undo дякую за оновлення !. Не соромтеся редагувати відповідь, якщо зможете, якщо ні, я скоро оновлю.
joselufo


13

Монітор Android -> Монітори (поруч з logcat) -> Пам'ять -> скидання купи Java

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


Я вважаю, що ця відповідь застаріла - Наскільки я бачу, поруч із Log Cat немає жодного монітора
Кріс Невілл

3

Я погоджуюсь із наведеною вище відповіддю, окрім кроків нижче

  1. Клацніть Купу оновлення над списком процесів.

  2. На правій панелі виберіть вкладку «Купи».

  3. Клацніть на Причина GC.

Вони не потрібні. Просто виберіть свою програму / процес у DDMS і натисніть, щоб скинути опцію профілю HPROF. Після цього виконуйте кроки точно так, як зазначено вище.


3

Можна також зробити наступне, щоб отримати більше варіантів,

  1. Перейдіть до Інструменти
  2. Потім на Android
  3. нарешті, до Android Device Monitor

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

  2. Запустіть програму в Android Studio

  3. На нижній панелі виберіть 6:Android, а потім виберітьMemory Monitor

  4. Клацніть Dump Java Heap

  5. Перейдіть на вкладку "Знімки" (на лівій панелі), ви можете знайти .hprofфайл у Heap Snapshotпапці

  6. Для того, щоб відкрити .hprofфайл у MAT, потрібно перетворити формат: клацніть лівою кнопкою миші на .hprofфайлі, а потім виберітьExport to standard .hprof

  7. Відкрийте MAT, а потім відкрийте .hprofфайл, який ви перетворили у формат


2

Зверніть увагу, що в останній версії Android Studio (1.3+) зйомка купи (Android hprof) була переміщена на підвкладку Memory Monitor на вкладці Android (як перше зображення у відповіді cVoronin).

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

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


2

Я перейшов з Eclipse на Android Studio, але все ще використовую MAT в Eclipse з плагіном DDMS. Це набагато простіше.


1
Відтоді, як я це опублікував, Android Studio значно вдосконалив свої інструменти аналізу. Зараз я використовую AS для аналізу.
Крістін

2

Я знаю, що це досить давнє запитання, але Android Studio 3 тепер має вбудований профіліст.

Дивіться документацію тут: Android Profiler в Android Studio 3.0


Ви можете сказати мені, як користуватися аналізатором android studio 3?
Amir133

0

ви можете використовувати андроїд-профайлер у новій андроїд-студії.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.