Jetpack Compose 在开箱即用时提供出色的性能。使用最佳实践配置您的应用程序以避免常见的陷阱并优化 Compose 应用程序的性能。
关键概念
以下是一些 Compose 中性能的关键概念
- 阶段: 了解 Compose 的组合、布局和绘制阶段对于优化 Compose 更新 UI 的方式至关重要。
- 基线配置文件: 这些配置文件预编译基本代码,从而使应用启动更快,交互更流畅。
- 稳定性: 提高应用的稳定性,以便更有效地跳过不必要的重新组合,从而提高性能。
正确配置您的应用
如果您的应用性能不佳,可能是配置问题。第一步是检查以下配置选项
- 在发布模式下使用 R8 构建: 尝试在 发布模式 下运行您的应用。调试模式有助于发现许多问题,但它会影响性能,并可能难以发现其他问题。您还应 启用优化和缩减,使用 R8 编译器来确保发布构建的性能和效率。
- 使用基线配置文件: 基线配置文件通过预编译关键用户旅程的代码来提高性能。Compose 包含一个默认配置文件,但理想情况下,您还应创建特定于应用的配置文件。 在一般 Android 性能文档中详细了解基线配置文件
工具
熟悉可用于帮助您衡量和分析 Compose 应用性能的 工具 套件。
最佳实践
在使用 Compose 开发应用时,请牢记以下最佳实践
- 避免昂贵的计算: 使用
remember
来缓存昂贵计算的结果。 - 帮助延迟布局: 使用
key
参数为延迟布局提供稳定的键,以最大程度地减少不必要的重新组合。 - 限制不必要的重新组合: 使用
derivedStateOf
来限制快速更改状态时的重新组合。 - 延迟状态读取: 通过将状态读取包装在 lambda 函数中,尽可能延迟状态读取。
- 对更改状态使用 lambda 修饰符: 对频繁更改的状态变量使用基于 lambda 的修饰符,例如
Modifier.offset { ... }
。 - 避免向后写入: 永远不要写入已在可组合项中读取的状态。
有关更多详细信息,请参阅 最佳实践 指南。
视图
如果您使用的是视图而不是 Compose,请参阅专门的 改进布局性能 指南。
其他资源
- 应用性能指南: 了解有关提高 Android 性能的最佳实践、库和工具。
- 检查性能: 检查应用性能。
- 基准测试: 对应用性能进行基准测试。
- 应用启动: 优化应用启动。
- 基线配置文件: 了解基线配置文件。