Jetpack Compose 中的 @Stable 和 @Immutable 注释是什么意思?

时间:2021-07-29 12:28:09

标签: android android-jetpack-compose

在学习 Jetpack Compose 示例项目时,我看到了 @Stable@Immutabe 注释。我一直在查看有关这些注释的 Android documentationGitHub,但我不明白。

据我了解,如果使用@Immutable,即使状态发生变化,也不应该发生re-composable。然而,作为测试的结果,可重新组合的收益。

@Stable@Immutable 注释在 Jetpack Compose 中的作用是什么?

1 个答案:

答案 0 :(得分:1)

编译器对两者一视同仁,但

  • 使用 @Immutable 是对价值永远不会改变的承诺。
  • 使用 @Stable 是一种承诺,即该值是可观察的,并且如果它确实发生变化,则会通知侦听器。