在一门课程中,我了解到onSaveInstanceState()
是在调用onDestroy()
之前获取变量值所必需的,但根据What exactly does onDestroy() destroy?,变量实际上并未被清除。
所以我的问题是,如果保存变量,onSaveInstanceState()
有什么用?
答案 0 :(得分:2)
当另一个Activity到达前台时,总是调用onSaveInstanceState。 onStop也是如此。
但是,仅当onCreate和onStart也被调用时,才会调用onRestoreInstanceState。并且,onCreate和onStart并不总是被调用。
因此,即使活动移至后台,Android似乎也不会删除状态信息。但是,为了安全起见,它调用生命周期方法来保存状态。因此,如果状态未被删除,那么Android不会调用生命周期方法来恢复状态,因为它们不需要。
请参阅此链接以获取更多信息
http://developer.android.com/guide/components/activities.html#SavingActivityState