Android 11 開發者預覽版現已推出;快來測試并分享您的反饋吧

利用 Android Profiler 測量應用性能

Android Studio 3.0 及更高版本中的 Android Profiler 取代了 Android Monitor 工具。Android Profiler 工具可提供實時數據,幫助您了解應用的 CPU、內存、網絡和電池資源使用情況。

如需詳細了解各個分析器,請參閱以下內容:

Android Profiler 與 Android 5.0(API 級別 21)及更高版本兼容。

有關 Android Profiler 的介紹,請觀看以下視頻。

要打開 Profiler 窗口,請依次選擇 View > Tool Windows > Profiler,或點擊工具欄中的 Profile 圖標 。如果 Select Deployment Target 對話框提示,請選擇要在哪個設備上分析您的應用。如果您通過 USB 連接了設備但系統未列出該設備,請確保您已啟用 USB 調試。如果您使用的是 Android Emulator 或已取得 root 權限的設備,Android Profiler 將列出所有正在運行的進程,即使這些進程可能無法調試也會列出。當您啟動可調試的應用時,默認情況下會選擇該進程。

Android Profiler 會持續收集分析數據,直到您斷開設備連接或點擊 End Session

圖 1. Android Profiler 共享時間軸視圖

1 Android Profiler 顯示當前正在分析的進程和設備。

2Sessions 窗格中,選擇要查看的會話,或啟動一個新的分析會話。

3 使用縮放按鈕控制要查看時間軸范圍,或使用 Attach to live 按鈕跳轉到實時更新。

4 事件時間軸顯示與用戶輸入相關的事件,包括鍵盤 Activity、音量控制更改和屏幕旋轉。

5 共享時間軸視圖,包括 CPU、內存、網絡和耗電量圖表。

此共享時間軸視圖只顯示時間軸圖表。要使用詳細分析工具,請點擊與您要檢查的性能數據對應的圖表。例如,要使用相關工具檢查堆數據和跟蹤內存分配,請點擊 Memory 圖表。

并非所有分析數據在默認情況下都可見。如果您看到一條消息,顯示“Advanced profiling is unavailable for the selected process”,您可以在運行配置中啟用高級分析以查看其他數據。

會話

您可以將分析器數據另存為會話,這些會話將一直保留,直到您退出 Android Studio。通過在多個會話中記錄分析信息并在它們之間進行切換,您可以比較各種場景中的資源使用情況。

  • 要啟動一個新的會話,請點擊 Start a new profiling session 按鈕 ,然后從出現的下拉菜單中選擇一個應用進程。

    在您記錄跟蹤記錄捕獲堆轉儲后,Android Studio 會將相應數據(以及您應用的網絡 Activity)作為單獨的條目添加到當前會話。

  • 要停止向當前會話添加數據,請點擊 Stop the current profiling session 圖標

  • 要導入之前運行 Android Studio 時導出的軌跡,請點擊 Start new profiler session 圖標 ,然后選擇 Load from file

啟用高級分析

要在運行搭載 Android 7.1 或更低版本的設備時向您顯示高級分析數據,Android Studio 必須將監控邏輯注入您編譯的應用。高級分析提供的功能包括:

  • 所有分析器窗口中的事件時間軸
  • Memory Profiler 中已分配對象的數量
  • Memory Profiler 中的垃圾回收事件
  • Network Profiler 中有關所有已傳輸文件的詳細信息

要啟用高級分析功能,請按以下步驟操作:

  1. 依次選擇 Run > Edit Configurations
  2. 在左側窗格中選擇您的應用模塊。
  3. 點擊 Profiling 標簽,然后勾選 Enable advanced profiling
  4. 重新編譯并運行您的應用。

高級分析配置會使編譯過程變慢,所以僅在您想要開始分析您的應用時,才應啟用該配置。