標籤:
Android 記憶體檢查
本文簡單介紹了如何使用 DDMS 和 MAT 工具來對 android 進行記憶體檢查,瞭解 android 記憶體的具體佔用情況。
步驟1. 使用 DDMS 觀察記憶體的使用方式
環境準備:電腦安裝了 android sdk,手機端開啟了 USB 調試開關, 將手機串連 PC。
可以單獨使用 ddms,或者在 android studio中Tools -> Android -> android device monitor, 選擇待調試的 device 和進程。
步驟2. 記憶體使用量異常時 dump hprof files
正常情況下 allocated size 值都會穩定在一個有限的範圍內,每次 GC 之後都會釋放,如果發現 allocated size 一直增加沒有得到釋放,這說明記憶體佔用存在問題,可能存在記憶體泄露。點擊左側的 dump java heap,匯出 hprof 檔案,假設命名為 test.hprof。
步驟3. 使用 MAT 分析 hprof 檔案
(1)首先下載 MAT 工具,MAT 可以是 eclipse 外掛程式,也可以下載一個獨立的應用。
MAT 工具的:http://www.eclipse.org/mat/downloads.php
(2)步驟2中匯出的 hprof 檔案不能直接被 MAT 解析,需要轉換一下:
cmd 進入 sdk\tools 目錄,比如:cd E:\AutoTestProj\AutoTest\tools\android_sdk\tools;
(3)將步驟2中匯出的 test.hprof 拷貝到該目錄下;
(4)運行cmd:hprof-conv test.hprof output.hprof
則該目錄下會產生 output.hprof 檔案;
(5)MAT工具匯入 hprof 檔案
file -> open heap dump -> 選擇 output.hprof,可以看到 leak suspects 分析報告。如果發現問題,需要及時和開發溝通解決。
Android 記憶體檢查