記憶體洩露-Android Studio 生成Dump 的 HPROF 檔案檢視和分析工具
阿新 • • 發佈:2019-01-02
0. 文章參考
1. HPROF 檔案 作用
HPROF檢視工具會列出類、類的例項和例項的引用樹,以此來幫助你跟蹤記憶體的使用情況,找出記憶體洩漏的地方。
2. dump Hprof file
Android Studio 到匯出 HPROF 檔案步驟很簡單,Moniter介面中點選 Dump Java Heap 即可
3. HPROF檔案檢視工具的資訊顯示
名稱 | 描述 |
---|---|
Class Name | 類名 |
Total Count | 該類的例項總數 |
Heap Count | 所選擇的堆中該類的例項數量 |
Sizeof | 單個例項所佔空間大小(如果美國例項所佔空間大小不一樣,則顯示0) |
Shallow Size | 堆裡所有例項大小總和(Heap Count * Sizeof) |
Retained Size | 該類所有例項所支配的記憶體大小 |
Instance | 具體例項 |
Reference Tree | 所選例項的引用,以及指向該引用的引用 |
Depth | GC 根節點到所選例項的最短路徑的深度 |
Shallow Size | 所選例項的大小 |
Dominating Size | 所選例項所支配的記憶體大小 |
4. HPROF檔案操作例項
4.1 開啟 Capture 檢視,選擇 HPROF 檔案
4.2 檢視 堆資訊
- App heap 當前 app 使用的堆
- Image heap 當前 app 在硬碟上的記憶體對映
- Zygot heap -zygot 複製時繼承的庫、執行時類和常量的資料庫。zygote 空間裝置啟動時建立,從不分配這裡的空間
4.2 檢視檢視型別
- Class List View
- Package Three View
5. HPROF檔案分析工具中分析資料(重要)
用HPROF分析工具可以檢測到洩漏的activities、分析出重複定義的字串。步驟如下