记录设备在短时间内的活动称为系统跟踪。系统跟踪会生成一个跟踪文件,您可以使用该文件生成系统报告。此报告可帮助您确定如何最好地改进应用或游戏的性能。
有关跟踪和性能分析的全面介绍,请参阅 Perfetto 文档中的跟踪 101页面。
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。
这两个报告都提供了在给定时间段内 Android 设备系统进程的整体概览。该报告还会检查捕获的跟踪信息,以突出显示观察到的问题,例如 UI 卡顿或高功耗。
Perfetto 和 Systrace 互操作。
- 在 Perfetto UI 中打开 Perfetto 文件和 Systrace 文件。通过点击“使用旧版 UI 打开”链接,在 Perfetto UI 中使用旧版 Systrace 查看器打开 Systrace 文件。
- 使用
traceconv
工具将 Perfetto 跟踪转换为旧版 Systrace 文本格式。
系统跟踪指南
要详细了解系统跟踪工具,请参阅以下指南
- 使用 CPU 分析器检查 CPU 活动
- 说明如何在 Android Studio 中分析应用程序的 CPU 使用情况和线程活动。
- 在设备上捕获系统跟踪
- 说明如何在任何运行 Android 9(API 级别 28)或更高版本的设备上直接捕获系统跟踪。
- 在命令行上捕获系统跟踪
- 定义可以传递到 Systrace 命令行接口的不同选项和标志。
- 使用 adb 运行 Perfetto
- 描述如何运行
perfetto
命令行工具以捕获跟踪。 - 快速入门:在 Android 上记录跟踪
- 外部文档,描述如何构建和运行
perfetto
命令行工具以捕获跟踪。 - 快速入门:在 Android 上记录跟踪
- 基于 Web 的 Perfetto 跟踪查看器打开 Perfetto 跟踪并显示完整报告。您还可以使用旧版 UI 选项在此查看器中打开 Systrace 跟踪。
- 浏览 Systrace 报告
- 列出典型报告的元素,提供浏览报告的键盘快捷键,并描述如何识别性能问题类型。
- 定义自定义事件
- 描述如何将自定义标签应用于代码的特定部分,以便在 Systrace 或 Perfetto 中更轻松地进行根本原因分析。