现在有了View模型,因为我们可以处理配置更改并管理UI数据,所以现在感觉onSaveInstance()对我来说毫无用处。
像以前一样,我们以前在onSaveInstanceState()上存储了较小的数据,并在配置期间用于还原它,现在使用视图模型,我们可以轻松地获取更新的数据。因此,如果我们使用ViewModel,请现在告诉我 onSaveInstanceState()和 onRestoreInstancestate()的实际用法是什么。
请告诉我在当前情况下使用ViewModel的用法
答案 0 :(得分:2)
当Android OS由于内存限制而决定终止应用程序进程并随后重新创建它时,数据仍然可能丢失。这与配置更改不同。
ViewModel
成功地保存了配置更改(Activity
/ Fragment
重新创建)中的数据,但是对于“过程重新创建”并没有太大帮助。
为了即使在过程重新创建的情况下也能保留数据,您将需要使用onSaveInstanceState()
。
最近的更新使您可以直接将实例状态保存在ViewModel
中,这样在使用SavedStateHandle
进行过程重新创建后就可以保存下来,也就是说,您不需要查询{{1}中的onSaveInstanceState
}保留数据,只需在Activity/Fragment
中使用SavedStateHandle
即可。