我应该在 Android Jetpack Compose 中使用 ConstraintLayout 以获得更好的性能吗?

Val*_*kov 1 android android-layout android-jetpack android-jetpack-compose

在 Jetpack Compose ConstraintLayout是构建复杂布局的推荐方式之前,因为它允许扁平化 UI 层次结构。请参阅管理复杂性:布局很重要文档部分。

布局花费特别长的时间的最常见情况是当 View 对象的层次结构相互嵌套时。每个嵌套的布局对象都会增加布局阶段的成本。层次结构越扁平,完成布局阶段所需的时间就越少。

在 Compose 世界中仍然如此吗?

Val*_*kov 6

在 Compose 中,情况并非如此。如果 ConstraintLayout 可以帮助您实现布局但不是出于性能问题,请使用它。请参阅Compose ConstraintLayout 文档

注意:在视图系统中,ConstraintLayout 是创建大型和复杂布局的推荐方法,因为平面视图层次结构比嵌套视图更能提高性能。然而,这不是 Compose 的问题,它能够有效地处理深层布局层次结构。

  • 更不用说,有时嵌套视图实际上仍然比 CL 更快,即使在常规视图世界中也是如此 (2认同)