當應用程式回應速度慢、畫面顯示斷斷續續的、系統凍結或太耗電,都算是效能欠佳。修正效能問題,這些問題牽涉到辨識出應用程式低效率使用 CPU、記憶體、圖片、網路或裝置電池等資源的情況。
如要找到並修正這些問題,請使用接下來本主題要討論的分析和基準化工具及技術。想瞭解評估效能的方式,以及運用這些技術來解決特定問題的案例,請參考效能評估。
Android Studio 提供的數種分析工具,可協助您找到並視覺化呈現潛在問題:
- CPU 分析器可協助追蹤執行階段的效能問題。
- 記憶體分析器可協助追蹤記憶體配置狀況。
- 網路分析儀會監控網路流量的使用狀況。
- 電力分析儀會追蹤用電量,可能會造成一定程度的耗電。
如要進一步瞭解上述工具,請參考「Android Studio 分析器」頁面。
應用程式可以利用 Jetpack Benchmark 程式庫來評估許多重要作業:
- Macrobenchmark:評估重要效能的使用案例,包括程式啟動及UI 動畫或畫面滾動等動作觸發的重繪動作。
- Microbenchmark:評估特定函式的 CPU 使用率。
如要進一步瞭解上述程式庫,請參考「設定應用程式基準」頁面。
可分析的應用程式
Profileable
是 Android Q 版本導入的資訊清單設定。這項設定可用於指定裝置使用者是否能透過 Android Studio、Simpleperf 和 Perfetto 等工具分析這個應用程式。
在 profileable
導入之前,大多數開發人員都只能分析 Android 系統中可進行偵錯的應用程式,因此造成大量的潛在效能耗損。這些效能折損可能會導致分析結果失效,尤其是與計算時間有關時更會如此。表 1 摘要說明了可進行偵錯和可分析應用程式間的差異。
功能 | 可偵錯 | 可分析 |
---|---|---|
記憶體分析器 | 已滿 |
是 否: |
CPU 分析器 | 已滿 |
是
否:
|
網路分析器 | 是 | 否 |
電力分析儀 | 是 | 否 |
事件監測儀 | 是 | 否 |
我們推出了 Profileable
,讓開發人員能選擇允許應用程式向分析工具公開資訊,同時產生極少的效能損耗。可分析的 APK 本質上即為發布版 APK 在資訊清單檔案的 <application>
部分加入一行 <profileable android:shell="true"/>
。
自動建構及執行可分析的應用程式
您只要按一下滑鼠,即可設定、建構及執行可分析的應用程式。這項功能需要使用搭載 API 級別 29 以上版本、且具備 Google Play 的虛擬或實體測試裝置。如要使用這項功能,請按一下「Profile app」圖示 旁邊的箭頭,然後在以下兩個選項間選擇:

點選「Profile 'app' with low overhead」,系統會啟動 CPU 和記憶體分析器。在記憶體分析器中,只有「Record Native Allocations」處於已啟用狀態。
點選「Profile 'app' with complete data」,系統會啟動 CPU、記憶體和能源分析器。
手動建構及執行可分析的應用程式
如要手動建構可分析的應用程式,您需要先建構發布應用程式,接著更新其資訊清單檔案,將發布應用程式轉換為可分析的應用程式。設定可分析的應用程式後,請啟動分析器,然後選取一個可供分析的程序來剖析。
建構發布應用程式
如要建構發布應用程式以便進行分析,請按照下列步驟操作:
-
將下列程式碼新增至應用程式的
build.gradle
檔案中,以偵錯金鑰簽署應用程式。如果您已有運作中的發布建構變數,可直接跳到下一個步驟。buildTypes { release { signingConfig signingConfigs.debug } }
-
在 Android Studio 中,依序選取「Build」>「Select Build Variant...」,然後選擇發布變化版本。
將發布應用程式轉換為可分析的應用程式
-
開啟
AndroidManifest.xml
檔案並在<application>
中新增下列指令,將上述的發布版應用程式轉換為可分析的應用程式。詳情請參閱「建構要發布的應用程式」。<profileable android:shell="true"/>
-
視 SDK 版本而定,您可能需要在應用程式的
build.gradle
檔案中新增下列幾行指令。aaptOptions { additionalParameters =["--warn-manifest-validation"] }
分析可分析的應用程式
如要分析一可分析應用程式,請按照下列步驟操作:
-
在開發模擬器或裝置啟動應用程式。
-
在 Android Studio 中依序選取「View」>「Tool Windows」>「Profiler」,即可啟動分析器。
-
應用程式啟動後,按一下分析器中的「
」按鈕,查看下拉式選單。接著選取您的裝置,然後選取「Other profileable processes」中的應用程式進入點。
-
分析器應附加至應用程式。僅 CPU 和 記憶體分析器能使用,其中記憶體分析器可使用的空間有限。