在学习 Jetpack Compose 示例项目时,我看到了 @Stable
和 @Immutabe
注释。我一直在查看有关这些注释的 Android documentation 和 GitHub,但我不明白。
据我了解,如果使用@Immutable
,即使状态发生变化,也不应该发生re-composable。然而,作为测试的结果,可重新组合的收益。
@Stable
和 @Immutable
注释在 Jetpack Compose 中的作用是什么?
答案 0 :(得分:1)
编译器对两者一视同仁,但
@Immutable
是对价值永远不会改变的承诺。@Stable
是一种承诺,即该值是可观察的,并且如果它确实发生变化,则会通知侦听器。