1. 程式人生 > >記憶體洩露-Android Studio 生成Dump 的 HPROF 檔案檢視和分析工具

記憶體洩露-Android Studio 生成Dump 的 HPROF 檔案檢視和分析工具

0. 文章參考

1. HPROF 檔案 作用

HPROF檢視工具會列出類、類的例項和例項的引用樹,以此來幫助你跟蹤記憶體的使用情況,找出記憶體洩漏的地方。

2. dump Hprof file

Android Studio 到匯出 HPROF 檔案步驟很簡單,Moniter介面中點選 Dump Java Heap 即可

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 檔案

Capture

4.2 檢視 堆資訊

  1. App heap 當前 app 使用的堆
  2. Image heap 當前 app 在硬碟上的記憶體對映
  3. Zygot heap -zygot 複製時繼承的庫、執行時類和常量的資料庫。zygote 空間裝置啟動時建立,從不分配這裡的空間

App heap

4.2 檢視檢視型別

  1. Class List View
  2. Package Three View

檢視檢視型別

5. HPROF檔案分析工具中分析資料(重要)

用HPROF分析工具可以檢測到洩漏的activities、分析出重複定義的字串。步驟如下

Analysis Task