由於 ProfilingManager 設定檔使用標準 Perfetto 格式,且可使用 PerfettoSQL 查詢,因此您可以將 AI 程式設計代理與 Perfetto AI 技能搭配使用,直接在工作區中自動執行根本原因分析,而不必在 Perfetto UI 中手動瀏覽時間軸,或針對 Perfetto 標準程式庫編寫自訂查詢:
- 載入設定檔:代理程式會使用 Perfetto 的
trace_processor開啟收集到的設定檔。 - 執行診斷查詢:在 Perfetto AI 技能的引導下,代理會查詢標準程式庫模組 (例如
android.frames.timeline查詢卡頓,或android.memory.heap_graph.dominator_tree查詢記憶體流失),並反覆修正查詢。 - 與原始碼建立關聯:代理程式會將設定檔中的自訂追蹤記錄切片、取樣呼叫堆疊或保留類別名稱,直接對應至 Kotlin 或 Java 原始檔,並提出修正建議。
設定 Perfetto AI 技能
開放原始碼 Perfetto AI 技能會教導程式設計代理如何執行 trace_processor、編寫 PerfettoSQL,以及按照引導式工作流程分析 Android 記憶體和 CPU。每個安裝作業都會隨附 trace_processor 包裝函式,因此您不需要另外安裝 trace_processor:
使用 AI 安裝:在任何 AI 程式設計代理中執行下列提示:
Following instructions from https://perfetto.dev/docs/getting-started/using-ai set up the Perfetto AI skill to be usable by any agent手動安裝:請按照「搭配使用 AI 與 Perfetto」中的設定操作說明,設定代理 (例如 Claude Code、Codex、Cursor、Antigravity 或 OpenCode)。
工作流程範例
將一或多個擷取的設定檔放入工作區,並提示 AI 代理進行調查。您可以分析單一設定檔來診斷個別問題,也可以傳遞多個設定檔,大量比較模式和迴歸。
分析 Java 記憶體快照資料和 OOM
如果您提供直接透過 PROFILING_TYPE_JAVA_HEAP_DUMP 擷取的 Java 記憶體快照資料,或透過 TRIGGER_TYPE_OOM 觸發條件自動擷取的 Java 記憶體快照資料,使用 Perfetto AI 技能的 AI 代理可協助您找出:
- 記憶體流失:物件 (例如已刪除的
Activity或Fragment執行個體) 在應回收時,仍可從 GC 根目錄存取。 - 高度重複的物件:執行個體數量異常偏高的類別,共同耗用大量堆積。
- 記憶體效率不彰:快取過大、資料結構重複,或單一支配物件保留過多記憶體。
如要調查 OutOfMemoryError 記憶體快照資料,並與應用程式的原始碼建立關聯,請執行類似下列的提示:
Analyze the Perfetto OOM heap dump at </path/to/profile>, which corresponds to
the codebase located at </path/to/codebase> using the Perfetto AI skill and find
the root cause of the OutOfMemoryError.
如要查看這則提示生成的已完成樣本報表,包括支配樹保留路徑、原始碼根本原因和建議修正方式,請參閱「個案研究:偵錯 OOM 異常終止問題」中的「使用 AI 代理自動調查 OOM」。
分析系統追蹤記錄和 ANR
如果您提供直接透過 PROFILING_TYPE_SYSTEM_TRACE 擷取的系統追蹤記錄,或透過 TRIGGER_TYPE_ANR 觸發條件自動擷取的系統追蹤記錄,使用 Perfetto AI 技能的 AI 代理可協助您找出:
- 封鎖主執行緒作業:長時間執行的追蹤記錄切片或同步呼叫,導致 UI 執行緒無法在 ANR 門檻前處理輸入事件或繪製影格。
- 執行緒狀態瓶頸:主執行緒卡在
Sleeping(例如封鎖網路 I/O 或Thread.sleep逾時)、Blocked(鎖定爭用) 或Runnable(CPU 排程延遲) 狀態的時間間隔。 - 主執行緒 CPU 尖峰:高成本運算或緊密迴圈直接在 UI 執行緒上執行,而非背景執行緒。
如要調查 ANR 系統追蹤記錄,並與應用程式的原始碼建立關聯,請執行類似以下的提示:
Analyze the Perfetto system trace at </path/to/trace.perfetto-trace>, which
corresponds to an ANR trace, and find the root cause of the ANR using the
Perfetto AI skill. The codebase is located at </path/to/codebase>.
如要查看此提示詞產生的已完成樣本報表範例,包括主執行緒切片細目、thread_state 間隔重建和原始碼對應,請參閱「個案研究:偵錯 ANR」中的「使用 AI 代理自動調查 ANR」。