【发布时间】:2014-01-16 21:12:00
【问题描述】:
下图(来自the official doc)描述了众所周知的Android Activity 生命周期:
另一方面,当activity被系统销毁时(例如需要回收内存),activity的状态有时会通过方法自动保存和恢复 onSaveInstanceState()和onRestoreInstanceState(),如下图所示(也来自the official doc):
当一个活动即将被销毁时,我知道onSaveInstanceState() 是not always called。例如,如果它因为用户按下了“返回”按钮而被销毁,则不会保留活动状态。但是在状态 保存和恢复,onSaveInstanceState() / onRestoreInstanceState() 被调用的情况下,它们究竟是什么时候被调用的?
例如,根据上面的数字,onRestoreInstanceState() 可能在onStart() 之前调用,或者在onStart() 之后但在onResume() 之前,或者在onResume() 之后调用。同样,onSaveInstanceState() 也存在几种可能性。那么它们究竟是什么时候调用的呢?
理想情况下,我希望看到一个显示活动生命周期状态和保存/恢复方法的组合图(如果存在)。
【问题讨论】:
-
从Android官方文档中得到了最终答案,onSaveInstanceState()在onPause()和onStop()之间调用。
-
@Rishi 能否提供该文档的链接?
-
read Save your activity state Paragraph there
-
我是否正确,请澄清
标签: android android-activity restore android-lifecycle