系统跟踪概述

系统跟踪是指在短时间内记录设备活动的做法。系统跟踪会生成一个跟踪文件,您可以使用它生成系统报告。这份报告可以帮助您确定如何最佳地改进应用或游戏的性能。

有关跟踪和性能分析的全面介绍,请参阅 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 中更轻松地进行根本原因分析。