Jetpack Compose 1.6 带来性能提升并扩展了支持的 API

Jetpack Compose 1.6 版本更新总结

性能提升

Jetpack Compose 1.6 版本在整体性能上实现了显著提升,大多数应用只需升级到最新版本即可受益。具体性能改进包括:

  • 列表滚动速度提升 20%:通过内存分配优化和惰性初始化实现。
  • 启动时间减少 12%:同样得益于内存优化和惰性初始化策略。
  • 跨 API 性能改进:尤其在文本、可点击组件、懒加载列表和图形 API(包括矢量图形)中表现明显。

Modifier.Node API

Modifier.Node API 提供了一个灵活的底层机制,用于实现自定义修饰符。这些修饰符可以链式组合以改变可组合组件的外观。所有使用 Modifier.Node API 创建的自定义修饰符都将受益于相同的性能改进。

编译器优化

Google 工程师对 Compose 编译器插件进行了优化,以提升生成代码的效率。具体改进包括:

  • 跳过不必要的状态跟踪:编译器现在可以跳过不严格需要的可组合状态值的跟踪。
  • 默认启用 Intrinsic Rememberremember 关键字声明的状态会被内联,并使用整数比较替换 .equals 比较,从而提升速度。Intrinsic Remember 在编译时考虑可组合参数的已知信息,加快判断是否需要重新计算的效率。

自动重组改进

Google 工程师致力于改善自动重组行为,避免不必要的重新渲染。引入了一种实验性的强跳过模式

  • 处理不稳定类型:强跳过模式尝试更有效地处理不稳定类型(即 Compose 难以判断其值是否在重组之间发生变化的情况)。在此模式下,具有不稳定参数的可组合组件将被视为可跳过,而具有不稳定捕获的 lambda 表达式将被记忆化,从而显著减少不必要的重组。

新增功能支持

  • 跨应用拖放支持:Compose Foundation 现在支持平台级别的拖放功能,内容不仅可以在同一应用的不同视图之间拖动,还可以在不同应用之间以及传统 View 和 Composable 对象之间拖动。
  • 其他 API 扩展:包括鼠标选择、基于样条的关键帧动画等功能的支持。

总结

Jetpack Compose 1.6 版本通过性能优化、编译器改进和新功能扩展,进一步提升了开发体验和应用性能。开发者可以通过升级到最新版本,无需修改代码即可享受这些改进。

阅读 28
0 条评论