日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Studio - HPROF文件查看和分析工具

發布時間:2025/7/25 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Studio - HPROF文件查看和分析工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android Studio - HPROF文件查看和分析工具



Android Studio

翻譯的官方文章?原文鏈接

當你在Android Studio中使用Android Monitor里的Memory Monitor工具監視內存使用情況時,可以把Java堆快照轉儲到Android HPROF文件中(譯者注:與標準的java hprof文件格式標準不一樣)。HPROF查看工具會列出類、類的實例和實例的引用樹,以此來幫助你跟蹤內存的使用情況,找出內存泄漏的地方。HPROF最初是由J2SE支持的一種二進制堆轉儲格式。

本文出處:http://www.jianshu.com/p/7d958959cf33

為什么要查看Java堆

Java堆展示如下信息:

  • 按類展示實例對象的內存使用情況;
  • 每次垃圾回收事件的樣本數據,不管是系統觸發還是你手動觸發的垃圾回收事件;
  • 幫助分析哪些對象類型也許會導致內存泄漏。

但是,HPROF文件只是展示了某一時刻Java堆的使用情況,如果你需要了解某段時間內Java堆使用情況的, 你需要通過分析不同時間點生成的HPROF文件來找出其中的變化。HPROF分析工具可以自動分析出以下兩種類型的問題:

  • 所有已經被銷毀,但是不能回收的Activity的實例;
  • 重復定義的字符串。

理解HPROF文件查看工具的顯示

HPROF文件查看工具界面如下:


HPROF文件查看工具

這個工具顯示了如下信息:

名稱描述
Class name類名
Total Count該類的實例總數
Heap Count所選擇的堆中該類的實例的數量
Sizeof單個實例所占空間大小(如果每個實例所占空間大小不一樣則顯示0)
Shallow Size堆里所有實例大小總和(Heap Count * Sizeof)
Retained Size該類所有實例所支配的內存大小
Instance具體的實例
Reference Tree所選實例的引用,以及指向該引用的引用。
DepthGC根節點到所選實例的最短路徑的深度
Shallow Size所選實例的大小
Dominating Size所選實例所支配的內存大小

如果你點擊了Analyzer Tasks就會展示HPROF分析工具,界面如下圖右邊板塊:


HPROF文件分析工具

用HPROF分析工具,可以檢測到泄漏的activities、分析出重復定義的字符串。

獲取和顯示Java堆的快照

要想查看Java堆的快照,必須要經過下面兩步:

  • 在內存監視工具里顯示一個正在運行的程序
  • 點擊Java堆轉儲按鈕
    當轉儲成功是這個內存監視器顯示的圖標會改變。Android studio創建的HPROF文件名格式為package_yyyy.mm.dd_hh.mm.ss.hprof,使用包名和轉儲的時間來命名,例如com.android.calc_2015.11.17_14.58.48.hprof。
  • 查看一個已經保存好的HPROF文件

    堆轉儲后,Android studio會自動保存HPROF文件,以便你再次查看。用HPROF查看工具查看HPROF文件的步驟如下:

  • 在主窗口中點擊Captures按鈕,或者選擇?View > Tools Windows > Captures,打開Captures窗口;
  • 打開堆快照文件夾;
  • 雙擊你想要查看的HPROF文件,打開HPROF文件查看工具界面;
  • 選擇你想查看的堆
    • App heap?- 當前app使用的堆
    • Image heap?- 當前app在硬盤上的內存映射
    • Zygote heap?- zygote 復制時繼承來的庫、運行時類和常量的數據集。zygote空間設備啟動時創建,從不分配這里的空間。
  • 選擇你想查看的視圖選項:
    • Class List View
    • Package Tree View
  • HPROF文件查看工具中分析數據

    以下步驟是典型工作流程:

  • 在HPROF文件查看工具中選擇一個類名;
  • 選擇該類的一個實例;
  • 查看引用樹;
  • 當需要的時候可以右鍵引用樹種的條目跳轉到源碼或者實例。
  • HPROF文件分析工具中分析數據

    用HPROF分析工具可以檢測到泄漏的activities、分析出重復定義的字串。使用HPROF文件分析工具標準步驟如下:

  • 打開Captures窗口,雙擊你想要查看的HPROF文件,打開HPROF文件查看工具界面;
  • 點擊Android Studio主窗口右邊欄上的Analyzer Tasks,默認HPROF文件分析工具會出現在HPROF文件查看工具的右邊。
  • Analyzer Tasks列表中選擇你想分析的選項;
  • 點擊開始分析的按鈕;
  • 查看分析結果,點擊結果中條目可在HPROF文件分析工具中查看詳情。
  • 數據排序

    在HPROF文件查看工具中,點擊表格的頂部,可以讓表格中數據升序或者將序排列。

    展示Java源碼

    在HPROF文件查看工具中展示的部分項可以直接跳轉到源碼,右鍵項目點擊Jump to Source就可以在代碼編輯器中打開源碼。

    HPROF文件相關操作

    Android Studio中你可以重命名、定位或者刪除HPROF文件,你也可以把他轉成標準的HPROF文件格式來使用其他的分析工具分析。

    重命名HPROF文件

    在Android Studio中重命名的HPROF文件仍然會出現在Captures窗口中。
    Captures窗口HPROF文件列表中選擇你想操作的文件,右鍵點擊Rename

    定位HPROF文件

    你可以快速找到Android Studio存放HPROF文件的位置。在Captures窗口HPROF文件列表中選擇你想操作的文件,右鍵點擊show in explorer,Android Studio會打開系統文件瀏覽器定位到文件存放的位置。

    注意:Android Studio無法在Captures窗口顯示那些被移動別的路徑下去的HPROF文件,如果想顯示請使用File > Open。同理,不要使用系統的文件瀏覽器來重命名HPROF文件。

    刪除HPROF文件

    Captures窗口HPROF文件列表中選擇你想操作的文件,右鍵點擊Delete,Android Studio會從Captures窗口和硬盤上刪除文件。

    將堆轉儲文件轉化成標準的HPROF文件

    轉化成標準的HPROF文件后可以使用Android Studio之外的分析工具來分析。在Captures窗口HPROF文件列表中選擇你想操作的文件,右鍵點擊?Export to standard .hprof


    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的Android Studio - HPROF文件查看和分析工具的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。