Я просто хочу знать, как работать с инструментом анализатора памяти в android. Скажите, пожалуйста, как это сделать, чтобы узнать о утечке памяти для конкретного проекта. Может ли кто-нибудь дать мне пошаговую процедуру для этого.
Инструмент анализа памяти в android?
Ответ 1
- Открыть перспективу DDMS в Eclipse.
- Выберите вкладку "Устройства".
- Выберите процесс, для которого вы хотите создать дамп.
- Нажмите кнопку Dump HPROF file. Дамп будет выполнен, и окно MAT будет открыто, если предполагается, что MAT установлен.
- Выберите "Отчет о подозрениях в утечке" в окне мастера и нажмите "Готово".
Это все. Вы увидите список возможных утечек, но некоторые из них являются ложноположительными. Я рекомендую вам запустить действие, которое вы хотите проверить утечки в несколько раз, а затем снова запустить MAT.
Ответ 2
Попробуйте Использование инструмента анализатора памяти (MAT)
Посмотрите на эти статьи:
Также посмотрите на эти сообщения SO:
Ответ 3
Записывать hprof не удается, если вы не использовали android.permission.WRITE_EXTERNAL_STORAGE. В качестве особого случая, когда вы тестируете устройство, проверьте, подключена ли ваша SD-карта в режиме ТОЛЬКО ТОЛЬКО ДЛЯ ЗАКАЗА, иначе вы не будете иметь доступ на запись на SD-карте.
Ответ 4
-
Установите MAT.
-
Перейдите в Инструменты- > Android → Монитор устройств Android (DDMS)
-
В левой верхней части страницы Устройства выберите название проекта и нажмите Обновить кучу.
-
Затем нажмите Дамп 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"
-
Теперь ваш файл будет преобразован в testage.hprof.check этот файл и откройте его в MAT.
Изменить: Нажмите данные, затем отобразите имена классов. В этом Left Click -> Path To GC Roots ->With all references
. Затем он отображает имя класса.
Ответ 5
Квадратный открытый инструмент анализа памяти: LeakCanary.
Ядром LeakCanary является MAT.
Ответ 6
Я бы рекомендовал взглянуть на Leak Canary. Это не анализатор памяти как таковой, а больше детектор утечки. Просто используйте приложение, открывайте и закрывайте действия и позволяйте библиотеке выполнять эту работу. Он даже расскажет вам о том, где произошла утечка. Просто дайте анализу утечки некоторое время, чтобы выполнить свою работу после того, как произошла утечка - обычно это занимает около 2 минут или более, пока не обнаружен источник утечки.
Ответ 7
Обновите версию для Android версии 1.4
или 1.5
.
В этой версии Android поддерживает новый инструмент, называемый Analyzer Task
Очень полезно избегать утечки памяти.