最佳答案
下图(来自 官方文件)描述了一个众所周知的 Android 活动的 生命周期:
另一方面,当活动被系统破坏时(例如,因为需要回收内存) ,活动的状态有时会通过方法 onSaveInstanceState()
和 onRestoreInstanceState()
自动地 保存和修复,如下图(也来自 官方文件)所示:
当一个活动即将被破坏时,我知道 onSaveInstanceState()
是 并不总是叫我。例如,如果由于用户按下了“后退”按钮而被销毁,则不保留活动状态。但在这种情况下,当状态 是保存和恢复,和 onSaveInstanceState()
/onRestoreInstanceState()
被调用,具体是什么时候?
例如,根据上面的数字,onRestoreInstanceState()
可以在 onStart()
之前调用,或者在 onStart()
之后但在 onResume()
之前调用,或者在 onResume()
之后调用。类似地,onSaveInstanceState()
也存在几种可能性。具体是什么时候?
理想情况下,我希望看到的是一个 显示活动生命周期状态和保存/恢复方法的组合图,如果存在的话。