Инструмент анализатора памяти в Android? - PullRequest
22 голосов
/ 21 мая 2011

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

Ответы [ 7 ]

23 голосов
/ 21 мая 2011
  1. Открыть перспективу DDMS в Eclipse.
  2. Выбрать вкладку Устройства .
  3. Выбрать процесс, для которого требуется создать дамп.
  4. Нажмите кнопку Dump HPROF file .Будет выполнен дамп, и откроется окно MAT, при условии, что MAT установлен.
  5. Выберите Отчет о возможных утечках в окне мастера и нажмите Готово .

Вот и все.Вы увидите список возможных утечек, но некоторые из них являются ложно-положительными.Я рекомендую вам выполнить действие, в котором вы хотите несколько раз проверить утечки, а затем снова запустить MAT.

1 голос
/ 16 июня 2011

Ошибка записи в hprof, если вы не использовали android.permission.WRITE_EXTERNAL_STORAGE. В качестве особого случая, когда вы проводите тестирование на устройстве, проверьте, подключена ли ваша SD-карта в режиме зарядки ТОЛЬКО в противном случае у вас не будет доступа для записи на SD-карту

0 голосов
/ 02 января 2017

Я бы рекомендовал взглянуть на Leak Canary .Это не анализатор памяти как таковой, а скорее детектор утечки.Просто используйте свое приложение, открывайте и закрывайте действия, и пусть библиотека сделает свое дело.Он даже скажет вам, где произошла утечка.Просто дайте анализатору утечки какое-то время, чтобы выполнить свою работу после того, как произошла утечка - обычно требуется около 2 минут или более, пока не будет найден источник утечки.

0 голосов
/ 24 ноября 2015

Пожалуйста, обновите до версии Android Studio 1.4 или 1.5. В этой версии Android поддерживает новый инструмент под названием Analyzer Task Это очень полезно, чтобы избежать утечки памяти.

0 голосов
/ 12 ноября 2015

Инструмент для анализа памяти с открытым исходным кодом: LeakCanary .

Ядром LeakCanary является MAT.

0 голосов
/ 17 февраля 2015
  • Установка MAT .

  • Перейдите в Инструменты-> Android -> Монитор устройства Android (DDMS)

  • В верхнем левом углу под Устройства выберите название проекта и нажмите Обновить кучу .

  • Затем нажмите Dump HPROF Файл и сохраните его на рабочем столе.

  • Затем запустите командную строку и укажите каталог Android-sdk.

    Например: hprof-conv находится в каталоге E. Так что запустите команда как cd android/sdk/platform-tools.

  • Затем, наконец, запустите эту команду, сославшись на doc , чтобы преобразовать этот формат файла для чтения его в MAT.

    E: \ Android \ sdk \ platform-tools> hprof-conv "C:\Users\Steve\Desktop\yourfilename.hprof" "C:\Users\Steve\Desktop\leakage.hprof"

  • Теперь ваш файл будет преобразован в leakage.hprof.проверьте этот файл и откройте его в MAT.

Редактировать: Нажмите Подробнее , затем он покажет имена классов. В этом Left Click -> Path To GC Roots ->With all references. Затем он показывает имя класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...