「系統追蹤」是指記錄短時間內的裝置活動。系統追蹤會產生一個追蹤檔,可用於產生系統報表。此報表可協助您找出改善應用程式/遊戲效能的最佳方法。
如需追蹤和剖析程序的完整簡介,請參閱 Perfetto 說明文件中的「追蹤指南」頁面。
Android 平台提供多種擷取追蹤記錄的選項:
- Android Studio CPU 和記憶體分析器
- Perfetto 指令列工具 (Android 10 以上版本)
- 系統追蹤公用程式
- Systrace 指令列工具
Android Studio CPU 分析器會在您與應用程式互動時,即時檢查應用程式的 CPU 用量和執行緒活動。您也可以在已經記錄下來的方法追蹤記錄、函式追蹤記錄和系統追蹤記錄中檢查詳細資料。記憶體分析器可針對觸控事件、Activity
變更和垃圾收集事件,提供相關的記憶體用量總覽。
Perfetto 是 Android 10 中加入的全平台可用追蹤記錄工具。這是一種精密的開放原始碼追蹤記錄專案,適用於 Android、Linux 和 Chrome。相較於 Systrace,這可提供資料來源的超集,並可在通訊協定緩衝區二進位檔訊息串中記錄各種長度的追蹤記錄。您可以在 Perfetto UI 中開啟這些追蹤記錄。
系統追蹤公用程式是一種 Android 工具,可將裝置活動儲存至追蹤檔。在搭載 Android 10 (API 級別 29) 以上版本的裝置中,追蹤檔會以 Perfetto 格式儲存,詳見本文件後續章節說明。而在搭載較舊 Android 版本的裝置中,追蹤檔則以 Systrace 格式儲存。
Systrace 是舊版平台提供的指令列工具,可在壓縮文字檔中記錄短時間內的裝置活動。此工具會產生一份結合 Android 核心資料的報表,例如 CPU 排程器、磁碟活動和應用程式執行緒。Systrace 支援所有 Android 平台版本,但裝置如果搭載 Android 10 以上版本,則建議使用 Perfetto。
圖 1:Perfetto 追蹤記錄檢視畫面範例,顯示與應用程式互動約 20 秒的情形。
![Systrace 報表的螢幕截圖](https://developer.android.google.cn/static/images/systrace/overview.png?authuser=0000&hl=zh-tw)
圖 2. Systrace HTML 報表範例,顯示與應用程式互動五秒的情形。
這兩份報表可讓您概略瞭解 Android 裝置在特定期間內的系統處理程序。報表也會檢查擷取的追蹤記錄資訊,醒目顯示觀察到的問題,例如 UI 卡頓或高耗電量。
Perfetto 和 Systrace 可以互通:
- 在 Perfetto UI 中開啟 Perfetto 檔案和 Systrace 檔案,然後使用舊版 Systrace 檢視器開啟 Systrace 檔案 (按一下「Open with legacy UI」連結)。
- 使用
traceconv
工具,將 Perfetto 追蹤記錄轉換為舊版 Systrace 文字格式。
系統追蹤指南
如要進一步瞭解系統追蹤工具,請參閱下列指南:
- 使用 CPU 分析器檢查 CPU 活動
- 說明如何在 Android Studio 中剖析應用程式的 CPU 用量和執行緒活動。
- 在裝置上擷取系統追蹤記錄
- 說明如何直接在任何執行 Android 9 (API 級別 28) 以上版本的裝置中擷取系統追蹤記錄。
- 在指令列擷取系統追蹤記錄
- 定義可以傳入 Systrace 指令列介面的不同選項和標記。
- 使用 ADB 執行 Perfetto
- 說明如何執行
perfetto
指令列工具擷取追蹤記錄。 - 快速入門導覽課程:在 Android 裝置上錄製追蹤記錄
- 外部說明文件,說明如何建構和執行
perfetto
指令列工具以擷取追蹤記錄。 - 快速入門導覽課程:在 Android 裝置上錄製追蹤記錄
- Perfetto 網頁式追蹤記錄檢視器會開啟 Perfetto 追蹤記錄,並顯示完整的報表。您也可以使用舊版 UI 選項,在此檢視器中開啟 Systrace 追蹤記錄。
- 瀏覽 Systrace 報表
- 列舉一般報表的元素、顯示瀏覽報表時的鍵盤快速鍵,並說明如何辨識效能問題的類型。
- 定義自訂事件
- 說明如何套用自訂標籤至程式碼的特定部分,以便在 Systrace 或 Perfetto 輕鬆進行根本原因分析。