系统跟踪概述

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

有关跟踪和性能分析的全面介绍,请参阅 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 报告示例,显示了 5 秒的应用程序交互。

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

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 中更轻松地进行根本原因分析。