本文介绍了可用于衡量性能指标和测试界面的工具。
系统性能工具
启动时间
如需分析启动时间,请使用 bootanalyze 工具。对于每个特定产品,请修改 config.yaml
文件以包含要搜索的事件。config.yaml
应如下所示:
stop_event: <logcat log message which will terminate log collection after reboot> events: event1_name: <pattern that matches log message> event2_ ...
在某些设备上,启动时钟后,前几秒内显示的时间可能有误。尽管 bootanalyze 工具可以在开箱后进行时间校正,但您可以在 config.yaml
中提供可选的时间校正模式。优化启动时间一文介绍了如何使用引导加载程序、设备内核、I/O 调整、启动动画和 SELinux 政策等组件缩短启动时间。
应用启动时间
用户希望应用能够及时响应并快速加载。应用启动时间一文详细介绍了启动过程的内部机制,并讨论了如何分析并优化启动性能。
界面
界面 (UI) 性能测试可确保您的应用不仅满足功能要求,且用户与应用之间的交互顺畅无比,能够持续以每秒 60 帧(请参阅 Android 性能模式:为什么选择 60fps?)的帧速运行,完全不会出现帧丢失或延迟的现象。
内存
您可以通过以下两种方法之一检查应用的内存占用情况:
- 使用 procstats 检查一段时间内的占用情况。
- 使用 meminfo 检查某个时间点的占用情况。
如需了解详情,请参阅:
-
如需衡量内存占用情况,请参阅查看内存分配。
-
为了使用 Android Studio IDE 检查内存,Android Studio 提供了一个基于 GUI 的内存使用情况工具。如需了解详情,请参阅使用内存性能分析器查看 Java 堆和内存分配情况。
-
如需在 Linux、Android 和 Chrome 平台上以及用户空间应用中进行性能检测和跟踪,请使用开源 Perfetto。
中央处理器
-
如需分析 Android 应用以及在 Android 上运行的原生进程,请使用 Simpleperf,这是一款面向 Android 的原生中央处理器 (CPU) 性能分析工具。Simpleperf 可以剖析 Android 上的 Java 和 C++ 代码。Simpleperf 可执行文件可在高于 Android L 的版本上运行,而 Python 脚本可在高于 Android N 的版本上使用。
Simpleperf 是 Android 开源项目的一部分。源代码位于 Simpleperf 中。如需了解详情,请参阅 Simpleperf 文档。 -
如需在与应用交互时实时检查应用的 CPU 使用率和线程活动,请使用 CPU 性能剖析器。这样做能带来诸多好处,如提供更快、更顺畅的用户体验,以及延长设备电池续航时间。此外,您还可以检查记录的方法跟踪数据、函数跟踪数据和系统跟踪数据的详情。
界面测试和框架
如需测试界面和框架,请使用以下工具:
-
如需自动执行端到端界面测试,请使用 UI Automator 和 AOSP 提供的汽车专属开源帮助程序。
-
如需自动测试端到端蓝牙连接,请使用 Google Mobly 开源框架。
-
如需编写简洁、美观且可靠的 Android 界面测试,请使用 Espresso。
-
如需在本地构建、安装并运行 Android 测试,请使用 Atest 命令行工具。
$ atest [optional-arguments] test-to-run
- 如需试运行您的 Android 代码,请使用 Robolectric(测试在工作站的 JVM 中运行,只需几秒钟)。