是否保证在 android 中的 ViewModel 上调用 onCleared?
Is onCleared guarranteed to be called on a ViewModel in android?
我能否安全地将代码放入视图模型的 onCleared
方法中来保存视图模型数据?如果应用程序因任何原因被终止或完成,或者是否存在可能无法调用 onCleared
的情况,是否可以保证将视图模型的数据放入持久存储中?
are there cases where onCleared may not be called?
至少,在 Activity
上的 onDestroy()
可能不会被调用。其中包括:
- 未处理的异常
- 用户在“设置”应用中点击您应用屏幕上的“强制停止”
- 某些情况下系统会在后台终止您的进程(具体来说,当需要系统 RAM 时,例如处理来电,并且您的应用程序进程“抽签”被终止)
所以,通常会调用onCleared()
,但不一定会调用
我能否安全地将代码放入视图模型的 onCleared
方法中来保存视图模型数据?如果应用程序因任何原因被终止或完成,或者是否存在可能无法调用 onCleared
的情况,是否可以保证将视图模型的数据放入持久存储中?
are there cases where onCleared may not be called?
至少,在 Activity
上的 onDestroy()
可能不会被调用。其中包括:
- 未处理的异常
- 用户在“设置”应用中点击您应用屏幕上的“强制停止”
- 某些情况下系统会在后台终止您的进程(具体来说,当需要系统 RAM 时,例如处理来电,并且您的应用程序进程“抽签”被终止)
所以,通常会调用onCleared()
,但不一定会调用