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 建構的應用程式,請務必按照下列步驟使用偵錯符號建構應用程式:
- 在 Unity 編輯器中開啟 Android 專案。
- 在 Android 平台的「Build Settings」視窗中,確認已勾選「Development Build」選項。
- 按一下「Player Settings」,然後將「Stripping Level」屬性設為「Disabled」。