您可以通过在短时间内记录设备活动并收集应用启动期间的跟踪来识别潜在的瓶颈并提高应用的整体性能。此页面介绍如何设置性能测试环境。
使用 Macrobenchmark 库
Macrobenchmark 库测量较大的最终用户交互,例如启动、与 UI 交互和动画。该库可直接控制您正在测试的性能环境。它允许您控制编译、启动和停止应用,以直接测量精确的应用启动时间。它还有助于最大程度地减少测试运行之间的噪声和差异。
使用中端设备识别潜在的性能问题
在您关心的每种设备类型上测试性能。具有快速组件的高端设备可能会隐藏早期、较慢或低内存设备上的性能问题。低端设备加载数据或运行代码可能需要更长时间,从而更容易识别瓶颈。为低端设备优化性能通常也有利于高端设备的优化。
减少噪声
- 网络:使用强大且稳定的互联网 Wi-Fi 速度测试您的应用或流程。如果应用启动时间包含网络请求,请将其记为可能发生变化的地方。
- RAM 使用情况:在测试应用启动性能时,不要让任何其他应用在设备后台运行。
- 电池:确保您的设备已充满电,以避免任何硬件特定的低功耗性能限制。
在发布版本上测试
使用发布版本测试性能。调试版本不适合性能调试,因为它们不提供编译优化并会严重影响性能。
但是,可以使用未混淆的发布版本来识别类和操作名称。具体来说,我们建议启用压缩 (R8)并禁用混淆,在 proguard 文件中使用-dontobfuscate
。如果构建未混淆,则更容易识别布局、资产和资源。
确保在清单中包含profileable标志,以便在不可调试的构建中可见您的自定义事件。此标志在 Android 10(API 级别 29)及更高版本上可用。
向应用操作添加自定义跟踪
在应用中添加自定义跟踪,以便更容易识别应用执行的操作与其他库相比。这有助于您随时了解应用正在执行的操作。