Tag: restore

什么时候调用onSaveInstanceState()和onRestoreInstanceState()?

下图(来自官方文档 )描述了Android活动的众所周知的生命周期 : 另一方面,当系统销毁活动(例如,因为需要回收内存)时,活动状态有时会通过onSaveInstanceState()和onRestoreInstanceState()方法自动保存和恢复 ,如图所示由下图(也来自官方文档 ): 我知道onSaveInstanceState() 并不总是被调用,当一个活动即将被销毁。 例如,如果由于用户按下了“返回”button而被销毁,则活动状态不被保留。 但是在状态被保存和恢复的情况下, onSaveInstanceState() / onRestoreInstanceState()被调用, 什么时候被调用 ? 例如,根据上面的图, onRestoreInstanceState()可以在onStart()之前,或onStart()之后, onResume()之前或onResume()之后onStart() 。 同样, onSaveInstanceState()存在几种可能性。 那他们什么时候准确地打电话? 理想情况下,我希望看到一个组合图,显示活动生命周期状态和保存/恢复方法 (如果存在的话)。