SavedStateHandle 和 RememberSaveable 之间有什么区别?

Goo*_*ham 4 android android-savedstate android-viewmodel android-jetpack-compose

据我所知,使用 Android Compose,

SavedStateHandle与生命周期和键值映射一起使用ViewModel并遵循生命周期和键值映射,它可以用作流程。ViewModel

rememberSaveable与可组合生命周期中的变量一起使用Composable并遵循可组合生命周期。

两者都用于在活动被系统破坏时防止数据丢失。

还有其他区别吗?

小智 6

这是谷歌文档中的答案:

使用的 API 取决于状态的保存位置及其所需的逻辑。对于 UI 逻辑中使用的状态,请使用rememberSaveable。对于业务逻辑中使用的状态,如果将其保存在 a 中 ViewModel,请使用 保存它SavedStateHandle