系统跟踪是指在短时间内记录设备活动的做法。系统跟踪会生成一个跟踪文件,您可以使用它生成系统报告。这份报告可以帮助您确定如何最佳地改进应用或游戏的性能。
有关跟踪和性能分析的全面介绍,请参阅 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 中更轻松地进行根本原因分析。