系统跟踪概览

在短时间内记录设备活动称为 系统跟踪。系统跟踪会生成一个跟踪文件,您可以使用该文件生成系统报告。该报告可帮助您确定如何最佳地提高应用或游戏的性能。

有关跟踪和性能分析的全面介绍,请参阅 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。

Screen capture of Perfetto
trace view

图 1. Perfetto 跟踪视图示例,显示了与应用的约 20 秒交互。

Screen capture of Systrace
report

图 2. Systrace HTML 报告示例,显示了与应用的五秒交互。

这两份报告都提供了 Android 设备在给定时间段内系统进程的整体情况。报告还会检查捕获到的跟踪信息,以突出显示观察到的问题,例如界面卡顿或高功耗。

Perfetto 和 Systrace 可互操作

系统跟踪指南

要详细了解系统跟踪工具,请参阅以下指南

使用 CPU 性能分析器检查 CPU 活动
演示如何在 Android Studio 中分析应用的 CPU 使用情况和线程活动。
在设备上捕获系统跟踪
解释了如何直接在运行 Android 9 (API 级别 28) 或更高版本的任何设备上捕获系统跟踪。
在命令行上捕获系统跟踪
定义了可以传递给 Systrace 命令行界面的不同选项和标志。
使用 adb 运行 Perfetto
介绍了如何运行 perfetto 命令行工具来捕获跟踪。
快速入门:在 Android 上记录跟踪
外部文档,介绍了如何构建和运行 perfetto 命令行工具来捕获跟踪。
快速入门:在 Android 上记录跟踪
基于网络的 Perfetto 跟踪查看器可打开 Perfetto 跟踪并显示完整的报告。您还可以使用旧版界面选项在此查看器中打开 Systrace 跟踪。
浏览 Systrace 报告
列出了典型报告的元素,提供了用于在报告中导航的键盘快捷键,并描述了如何识别不同类型的性能问题。
定义自定义事件
描述了如何将自定义标签应用于代码的特定部分,以便在 Systrace 或 Perfetto 中更轻松地进行根本原因分析。