检查性能以帮助您了解应用程序中发生的情况,并确保它符合您的预期。
Android 提供了多种工具,您可以使用这些工具来检查应用程序的性能。在入门时,建议您在检查期间每次只关注一个区域。这些区域可能包括以下内容
- 应用程序启动
- 渲染缓慢 (jank)
- 屏幕过渡和导航事件
- 长时间运行的工作
- 后台操作,例如 I/O 和网络
或者,您可以检查应用程序工作流程的关键用户旅程。这可以帮助您全面了解性能和预期不一致的地方。
在检查性能时,主要有两种方法:手动和自动。在检查新区域时,您可能会从手动调试开始。
手动检查
确定要检查的应用程序区域后,您可以使用各种工具来识别确切发生的情况。
在运行 Android 9 及更高版本的设备上检查性能的最全面工具是 Perfetto。Perfetto 提供了尽可能详细的跟踪信息。通过使用强大的过滤器,您可以根据需要调整详细程度。有关如何从 Android 设备捕获跟踪的更多信息,请参阅 快速入门:在 Android 上记录跟踪 指南。
Android Studio 中内置的 Android 分析器 也可以提供有关应用程序性能的宝贵见解,您可以在其中限制应用程序的详细程度,或者在运行 Android 9 之前版本的设备上运行。
有关更多信息,请参阅 系统跟踪概述 或观看有关 性能调试 的深入系列。
自动化测试
除了手动检查之外,您还可以设置自动化测试来收集和汇总性能数据。这有助于您了解用户实际看到的情况,并识别何时可能发生回归。有关为您的应用程序设置自动化性能测试的更多信息,请参阅 基准测试您的应用程序。
应用程序启动性能
您可以使用多种工具来检查和监控性能,以帮助改进您的应用程序。
使用基准测试库在本地了解性能
- 宏基准库Macrobenchmark library可帮助您衡量较大的最终用户交互,例如启动、与 UI 交互和动画。
- 微基准库Microbenchmark library可帮助分析更细粒度、特定于应用程序情况的性能。
了解生产环境中的性能
- Android 指标Android vitals可帮助您通过在各种性能指标超过预定阈值时发出警报来提高应用程序的性能。
- Firebase 性能 SDKFirebase performance SDK收集有关应用程序性能的各种指标。例如,您可以使用 SDK 来衡量用户打开应用程序到应用程序变得响应之间的时长,从而帮助识别潜在的启动瓶颈。
使用 Android Studio 在本地分析
- 使用 Android Studio 记录和查看系统跟踪或堆栈采样跟踪。
- 使用 Android Studio 记录跟踪。有关更多信息,请参阅 性能调试视频系列。
- 使用 Simpleperf(一个用于 Android 的本机堆栈采样工具)来分析 Android 应用程序和在 Android 上运行的本机进程。它可以分析 Android 上的 Java 和 C++ 代码。
高级分析工具:Perfetto 跟踪
- Perfetto:一种在 Android 10(API 级别 29)及更高版本上可用的平台级跟踪工具。有关更多信息,请参阅 Perfetto 跟踪概述。
- 使用
adb
运行 Perfetto:介绍如何运行perfetto
命令行工具来捕获跟踪。 - 通过命令行记录跟踪:介绍如何构建和运行
perfetto
命令行工具来捕获跟踪。 - 基于 Web 的 Perfetto 跟踪查看器:打开 Perfetto 跟踪并显示完整报告。您还可以使用旧版 UI 选项在此查看器中打开 Systrace 跟踪。