Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 15 章:其他分析工具

Perfetto 适合把调度、进程、渲染和应用事件放到同一条时间轴上。本章补充需要专门采集方式或其他证据形态的工具:CPU sampling(周期采集调用栈,估算 CPU 时间集中在哪些函数)、Heap Dump(某一时刻的堆对象快照)、布局层级检查、GPU capture(记录单帧命令、资源和管线状态)、构建产物分析,以及 production telemetry(线上长期汇总的指标和事件)。

工具选择取决于问题和所需证据。CPU sample 提供统计调用栈,Heap Dump 提供对象关系,命令行快照提供某一时刻的系统状态,GPU capture 提供单帧细节,线上 telemetry 则用于观察较长时间和大量设备上的趋势。它们回答的问题不同,结论也不能直接互换。

内容索引

阅读建议

  • 如果你已经会看 Perfetto,可先判断所需证据是否存在于系统 trace;缺少函数调用栈、对象图或单帧 GPU 状态时,再选择对应的专用工具。
  • CPU 调查可在 15.1—15.2 中选择 IDE 集成分析器、simpleperf 采样器或基于 PMU(处理器硬件性能计数器)的微架构分析;内存对象与 Heap Dump 调查转到 15.3。
  • 系统命令快照与功耗工具见 15.4—15.5;自动化回归、线上 profiling、statsd、StrictMode 和 CLI/Agent 工作流见 15.6—15.9。这里的 Agent 工作流指由自动化代理编排命令、采集和分析步骤。
  • GPU、相机、窗口合成和布局层级问题集中在 15.11—15.15,应按问题选择帧捕获、GPU Counter、Camera Trace、Winscope 或 Layout Inspector。
  • 第三方 Hook、动态可达性、eBPF 与 R8 规则分析分别见 15.10、15.13、15.16 和 15.17。使用前应先确认 Android 版本、构建类型、权限和数据安全边界。