Wear OS 上的性能是应用需要注意的重要事项,因为与较大的移动设备相比,许多 Wear OS 设备的 CPU 和 GPU 资源有限。随着 Material 3 Expressive 中引入了更丰富的动画和动态效果,您应验证并提升应用关键工作流程的性能。
请参阅 Jetpack Compose 性能指南,了解如何使用 Jetpack Compose 配置和开发应用以获得最佳性能。本文档重点介绍其中描述的一些技术。
此外,还要制定并遵循性能衡量策略,以验证本文档中的技术是否能按预期方式应用于您的应用。
基本的性能提升技巧
首先使用最具影响力的性能工具类型:基准配置文件(包括启动配置文件)和 R8 代码优化器。
在开始之前,我们建议您将 Compose 依赖项更新为至少 1.8 版,该版本引入了多项重要的新功能,并提高了库的整体稳定性。如需了解如何更新,请参阅声明依赖项中的说明;如需了解详情,请参阅我们关于 1.8 版的博文和 Compose 中的新功能 I/O 讲座。
基准配置文件
使用基准配置文件可提升应用性能。将代表应用关键工作流的类和方法归为一组,系统可以使用基准配置文件预编译这些类和方法。这样可以缩短启动时间,减少卡顿帧,并在其他方面提高性能。
每个 Jetpack Compose 库都随附自己的配置文件规则。如果应用依赖于某个库,该库的配置文件规则会与应用的 APK 自动合并,并与其一起分发以进行预编译。
使用以下方法验证基准配置文件:
- 使用宏基准测试。
- 利用特定的 ADB 命令来验证应用配置文件的配置状态。
性能衡量和验证指南中介绍了这两种技术的步骤。
启动配置文件
作为基准配置文件的子集,启动配置文件会进一步优化其中包含的类和方法,以缩短应用启动延迟时间。
添加启动配置文件会增加应用的 APK 大小,因此在将启动配置文件添加到正式版发布版本之前,请务必评估 APK 大小与启动延迟之间的权衡。
当您对基准配置文件设置大致满意后,请阅读创建启动配置文件以开始操作。
R8
使用 R8 编译器来缩减和优化应用。R8 会移除未使用的代码和资源、重写代码以优化运行时性能,等等。
在有关如何提高性能的概览指南中,查看有关 R8 的注意事项,包括移除未使用的资源的关键步骤。
效果衡量和验证
如需了解 Android 上的一般性能衡量策略,请参阅应用性能测量概览。本部分包含该文档中讨论的一些技术。
选择用于衡量的 build 变体
虽然调试模式有助于发现许多问题,但会产生严重的性能开销,不使用基准配置文件,而且可能会难以发现可能影响性能的代码问题。
如需准确了解应用的性能,请在发布模式下运行应用。
您应该仅根据在真实设备上运行的应用(使用发布 build 选项)执行的测试来得出最终的性能结论。
不过,在进行基准测试时,请使用基准 build 变体,该变体与发布调试存在一些关键差异。如需了解详情,请参阅 Macrobenchmark 设置指南。
验证应用的基准配置文件
首先,检查您商家资料的状态:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
如果状态不是 status=speed-profile
,就表示尚未应用配置文件规则来优化应用。
规则需要使用后台作业来应用,该作业会在设备充电和空闲时运行。当应用启动并经过足够的时间后,您可以运行以下命令让配置文件安装程序在后台引导配置文件,从而手动触发此作业。此过程通常需要大约 40 秒。
adb shell cmd package bg-dexopt-job
然后,您可以重新运行上一个命令来检查状态现在是否为 speed-profile
。
如需了解在安装时执行优化的情况,请参阅旁加载基准配置文件。
UI Automator API
在检查用户体验历程以寻找潜在的优化机会时,使用 UI Automator API 对离散的界面片段进行基准比较。
它通过以编程方式自动执行界面互动来工作。
Macrobenchmark 测试
宏基准测试用于测试应用的较大用例,尤其是应用启动和复杂的界面操作。如需开始使用,请参阅植入指南。
如需查看使用宏基准测试验证基准配置性能的示例,请参阅 GitHub 上的性能示例。
JankStats 库
使用 JankStats 库跟踪和分析应用的性能问题。
如需查看示例,请参阅 GitHub 上的 JankStats 示例。
系统跟踪
借助 Material 3 Expressive 引入的新动画类型,您可以使用 Android Studio 中的 System Trace 功能来检查和诊断可能存在问题的用户体验历程中的延迟。有了这些信息,您就可以验证基准配置文件的内容,并检查代码逻辑以查找可能存在效率低下的地方。
其他工具
除了性能改进工具之外,开发者还可以使用其他工具来提高工作效率和工作流程。
Android Studio 效率工具
Android Studio 提供了多种工具,可减少您寻找性能提升方法所花费的时间。
例如,借助实时编辑和可组合项预览等工具,您可以找出卡顿的界面以及应用代码中的相关区域,以便改进性能。
在一系列实体 Wear OS 设备上运行所有最终性能测试,这些设备能够准确代表您的目标用户群。
在迁移到 Material 3 Expressive 时,这一点尤为重要,因为该主题会为您的应用引入灵活字体和形状变形等功能。
如果您要从视图迁移,请查看我们的迁移指南和 Jetpack Compose 性能最佳实践,以验证您的应用在使用 Jetpack Compose 时是否具有高性能的界面。
其他资源
如需及时了解 Android 性能方面的最新动态,请查看应用性能指南中的最新资讯和视频。