SavedStateHandle和rememberSaveable之间有什么区别?

3
据我所知,使用Android Compose时,SavedStateHandleViewModel一起使用,遵循ViewModel的生命周期和键值映射,并且可以用作流。 rememberSaveableComposable中的变量一起使用,遵循Composable的生命周期。
而且,这两者都用于在活动被系统销毁时防止数据丢失。
还有其他区别吗?

2
如果系统在低内存情况下销毁进程(进程死亡),则可以使用SavedStateHandle。rememberSaveable用于在配置更改期间保存状态。请查看https://medium.com/androiddevelopers/viewmodels-with-saved-state-jetpack-navigation-data-binding-and-coroutines-df476b78144e,尽管它不适用于Compose。 - Raghunandan
1个回答

4

这是Google文档的答案:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接