Simpleperf

Android Studio 提供 Simpleperf 的圖形前端,詳情請參閱使用 CPU 分析器檢查 CPU 活動。 大多數使用者偏好使用這個圖形前端,而非直接使用 Simpleperf。

如果您偏好使用指令列,可以使用 Simpleperf。Simpleperf 是一項通用的指令列 CPU 分析工具,Mac、Linux 和 Windows 的 NDK 中皆有提供這項工具。

如需查看完整的說明文件,請先從 Simpleperf README 開始。

Simpleperf 使用提示和技巧

如果您剛開始使用 Simpleperf,以下提供的一些指令可能對您很有幫助。如需更多指令和選項,請參閱 Simpleperf 指令和選項參考資料

找出執行時間最長的共用程式庫

您可以執行以下指令,查看哪些 .so 檔案所占的執行時間百分比最多 (以 CPU 週期數為準)。當您要開始執行效能分析工作階段時,我們建議您先執行這個指令。

$ simpleperf report --sort dso

找出執行時間最長的函式

找出哪些共用程式庫占用了大部分執行時間後,您可以執行以下指令查看執行這個 .so 檔案的函式所花費時間的百分比。

$ simpleperf report --dsos library.so --sort symbol

找出執行緒中花費時間的百分比

.so 檔案的執行時間可能會分配至多個執行緒。您可以執行以下指令來查看每個執行緒所花費時間的百分比。

$ simpleperf report --sort tid,comm

找出物件模組中花費時間的百分比

找出花費大部分執行時間的執行緒後,您可以使用以下指令,隔離在這些執行緒上花費最長執行時間的物件模組。

$ simpleperf report --tids threadID --sort dso

瞭解函式呼叫的關聯性

呼叫圖以視覺化方式呈現 Simpleperf 在分析工作階段期間記錄的堆疊追蹤。

您可以使用 report -g 指令輸出呼叫圖,以便查看其他函式所呼叫的函式,這有助於確認是函式本身執行速度緩慢,還是該函式所呼叫的一或多個函式執行速度緩慢。

$ simpleperf report -g

您也可以使用 Python 指令碼 report.py -g 啟動顯示函式的互動式工具。您可以點選每個函式,查看其子項所花費的時間。

分析使用 Unity 建構的應用程式

如要分析使用 Unity 建構的應用程式,請務必按照下列步驟使用偵錯符號建構應用程式:

  1. 在 Unity 編輯器中開啟 Android 專案。
  2. 在 Android 平台的「Build Settings」視窗中,確認已勾選「Development Build」選項。
  3. 按一下「Player Settings」,然後將「Stripping Level」屬性設為「Disabled」