Android SavedStateHandle不';无法保存在ViewModel中

Android SavedStateHandle不';无法保存在ViewModel中,android,android-viewmodel,Android,Android Viewmodel,我有一个ViewModel,它接受一个savedstatehold参数。我正在保存一个字符串,如下所示: private-fun-saveString(str:String){ state.set(键字符串,str) } 然后我强制关闭我的应用程序并重新启动它,并希望检索保存的字符串,如下所示: fun getSavedString():字符串?{ 返回状态.get(键字符串) } 但是,它总是返回null。你知道如何正确使用SavedStateHandle吗?“然后我强制关闭我的应用程序”

我有一个ViewModel,它接受一个
savedstatehold
参数。我正在保存一个字符串,如下所示:

private-fun-saveString(str:String){
state.set(键字符串,str)
}
然后我强制关闭我的应用程序并重新启动它,并希望检索保存的字符串,如下所示:

fun getSavedString():字符串?{
返回状态.get(键字符串)
}

但是,它总是返回null。你知道如何正确使用SavedStateHandle吗?

“然后我强制关闭我的应用程序”——你是怎么做到的?如果您将应用程序从概览屏幕上刷下,因为这会破坏任务,所以保存的实例状态也会消失。Android Studio中的红方块按钮似乎也做了同样的事情。我使用
adb
@commonware很幸运是的,我正在滑动应用程序以模拟强制关闭。
savedstatehold
不会保存此场景的状态吗?在这种情况下,我不理解使用
savedstatehold
的好处。Android doc明确指出:这些值将在进程被系统终止后持续存在,并通过同一对象保持可用。保存的实例状态场景(无论是使用原始
捆绑包
还是
SavedStateHandle
)适用于系统因内存不足而终止进程的情况,但是用户很快就返回到应用程序(嗯..这很让人困惑,文档也让我想到这些值会在任务实例中持续存在。“然后我强制关闭我的应用程序”--你是怎么做到的?如果你从概览屏幕上刷下应用程序,因为这会破坏任务,保存的实例状态也会消失。Android Studio中的红方块按钮似乎也会做同样的事情。我使用
adb
@commonware很幸运是的,我刷应用程序是为了模拟强制关闭。不会
 SavedStateHandle
保存此场景的状态?在这种情况下,我不理解使用
SavedStateHandle
的优点。Android文档明确指出:这些值将在进程被系统终止后保持不变,并通过同一对象保持可用。保存实例状态的场景(无论是使用原始
捆绑包
还是
SavedStateHandle
)都适用于系统因内存不足而终止进程,但用户很快就会返回应用程序(嗯..这非常令人困惑,这些文档也让我期望这些值在任务实例中保持不变。