Wear OS 上的 Jetpack Compose 性能

Wear OS 上的性能是应用需要注意的重要事项,因为与较大的移动设备相比,许多 Wear OS 设备的 CPU 和 GPU 资源有限。随着 Material 3 Expressive 中引入了更丰富的动画和动态效果,您应验证并提升应用关键工作流程的性能。

请参阅 Jetpack Compose 性能指南,了解如何使用 Jetpack Compose 配置和开发应用以获得最佳性能。本文档重点介绍该指南中描述的一些技术。

制定并遵循效果衡量策略,以验证这些技术是否能按预期方式应用于您的应用。

基本的性能提升技巧

首先使用最有效的性能工具类型:基准配置文件(包括启动配置文件)和 R8 代码优化器。

Compose 依赖项更新到版本 1.8 或更高版本,该版本引入了多项重要的新功能,并提高了库的整体稳定性。如需了解如何更新,请参阅声明依赖项中的说明。如需了解详情,请参阅我们的关于 1.8 版的博文I/O 大会上的“Compose 中的新功能”讲座。

基准配置文件

如需提升应用性能,请使用基准配置文件。将代表应用关键工作流的类和方法归为一组,系统可以使用基准配置文件对这些类和方法进行预编译。这样可以缩短启动时间,减少卡顿帧,并在其他方面提高性能。

每个 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 可通过编程方式自动执行交互。在检查用户历程以寻找潜在的优化机会时,使用此 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 性能方面的最新动态,请查看应用性能指南中的最新资讯和视频