Jetpack Compose 性能

Jetpack Compose 可提供开箱即用的卓越性能。使用最佳实践配置应用,以避免常见误区并优化 Compose 应用的性能。

对 Jetpack Compose 进行基准测试

为了验证 Jetpack Compose 相对于 View 的性能,我们使用了核心基准,这些基准专注于重要的真实用户体验历程,例如冷启动应用或滚动包含图片的列表或网格。我们使用开源 Pokedex 应用进行这些基准测试,比较其 View 和 Compose 实现。

这些基准测试表明,自 Compose 1.9.0 起,Compose 在滚动时的卡顿性能与 View 相当(在 Pixel 6 上实现了 0% 的卡顿)。

Compose 相比 View 的额外卡顿百分比(按 Compose 版本,越低越好)
Compose 版本设备卡顿率(个百分点)
1.3.3Pixel 3a+0.35
1.4.3Pixel 3a+0.41
1.5.4Pixel 3a+0.42
1.6.8Pixel 3a+0.21
1.7.8Pixel 3a+0.36
1.8.0Pixel 3a+0.38
1.9.0Pixel 3a0
1.10.0Pixel 3a0
1.11Pixel 60
1.12Pixel 60
图 1. 自 Compose 1.9.0 起,Compose 的滚动卡顿情况与 View 相当。

如需了解其他指标和我们的方法,请参阅主打基准。

主要概念

以下是 Compose 中与性能相关的一些关键概念:

  • 阶段:了解组合、布局和绘制阶段对于优化 Compose 更新界面的方式至关重要。
  • 基准配置文件:这些配置文件会预编译重要代码,从而加快应用启动速度并实现更流畅的互动。
  • 稳定性:了解 Compose 如何在重组期间比较参数,以便您跳过不必要的工作,而无需引入开销高昂的等同性检查。

正确配置您的应用

如果您的应用性能不佳,则可能意味着存在配置问题。建议首先检查以下配置选项:

  • 使用 R8 在发布模式下构建:尝试在发布模式下运行应用。调试模式有助于发现许多问题,但会产生性能开销,并且可能会导致难以发现其他问题。您还应使用 R8 编译器启用优化和缩减,以确保发布 build 具有高性能和高效率。
  • 使用基准配置文件:基准配置文件通过为关键用户历程预编译代码来提升性能。Compose 包含默认配置文件,但理想情况下,您还应创建应用专用配置文件。在常规 Android 性能文档中详细了解基准配置文件

工具

熟悉可帮助您衡量和分析 Compose 应用性能的一系列工具。

最佳做法

使用 Compose 开发应用时,请牢记以下最佳实践:

如需了解详情,请参阅最佳实践指南。

观看次数

如果您使用的是视图而非 Compose,请参阅专门的提升布局性能指南。

其他资源