Jetpack Compose 开箱即可提供卓越性能。请运用最佳实践来配置应用,避免常见错误,并优化 Compose 应用的性能。
主要概念
以下是 Compose 中有关性能的一些关键概念:
- 阶段:了解组合、布局和绘制阶段对于优化 Compose 更新界面的方式至关重要。
- 基准配置文件:这些配置文件会对基本代码进行预编译,从而加快应用启动速度并实现更顺畅的互动。
- 稳定性:提高应用的稳定性,以更高效地跳过不必要的重组,从而提升性能。
正确配置您的应用
如果您的应用性能不佳,则可能存在配置问题。建议您首先检查以下配置选项:
- 使用 R8 在发布模式下构建:尝试在发布模式下运行应用。调试模式有助于发现许多问题,但会产生性能成本,并且可能很难发现其他问题。您还应使用 R8 编译器启用优化和缩减功能,以确保高效且高效的发布 build。
- 使用基准配置文件:基准配置文件通过预编译关键用户历程的代码来提升性能。Compose 包含一个默认配置文件,但理想情况下,您还应创建一个应用专用配置文件。如需详细了解基准配置文件,请参阅常规 Android 性能文档
工具
熟悉一套可用于衡量和分析 Compose 应用性能的工具。
最佳实践
使用 Compose 开发应用时,请牢记以下最佳实践:
- 避免开销高的计算:使用
remember
来缓存开销大的计算的结果。 - 帮助延迟布局:使用
key
参数为延迟布局提供稳定的键,以最大限度地减少不必要的重组。 - 限制不必要的重组:在状态快速变化时使用
derivedStateOf
限制重组。 - 推迟状态读取:通过将状态读取封装在 lambda 函数中,尽可能延后读取状态。
- 使用 lambda 修饰符更改状态:对于经常更改的状态变量,请使用基于 lambda 的修饰符,如
Modifier.offset { ... }
。 - 避免向后写入:切勿向可组合项中已读取的状态写入数据。
如需了解详情,请参阅最佳实践指南。
次观看
如果您使用的是 View 而非 Compose,请参阅专门的改进布局性能指南。