最佳答案
下图(来自 官方文件)描述了一个众所周知的 Android 活动的 生命周期:

另一方面,当活动被系统破坏时(例如,因为需要回收内存) ,活动的状态有时会通过方法 onSaveInstanceState()和 onRestoreInstanceState()自动地 保存和修复,如下图(也来自 官方文件)所示:

当一个活动即将被破坏时,我知道 onSaveInstanceState()是 并不总是叫我。例如,如果由于用户按下了“后退”按钮而被销毁,则不保留活动状态。但在这种情况下,当状态 是保存和恢复,和 onSaveInstanceState()/onRestoreInstanceState()被调用,具体是什么时候?
例如,根据上面的数字,onRestoreInstanceState()可以在 onStart()之前调用,或者在 onStart()之后但在 onResume()之前调用,或者在 onResume()之后调用。类似地,onSaveInstanceState()也存在几种可能性。具体是什么时候?
理想情况下,我希望看到的是一个 显示活动生命周期状态和保存/恢复方法的组合图,如果存在的话。