如果onDestroy()没有清除所有变量,onSaveInstanceState()的目的是什么

时间:2014-07-31 06:06:39

标签: android

在一门课程中,我了解到onSaveInstanceState()是在调用onDestroy()之前获取变量值所必需的,但根据What exactly does onDestroy() destroy?,变量实际上并未被清除。

所以我的问题是,如果保存变量,onSaveInstanceState()有什么用?

1 个答案:

答案 0 :(得分:2)

当另一个Activity到达前台时,总是调用onSaveInstanceState。 onStop也是如此。

但是,仅当onCreate和onStart也被调用时,才会调用onRestoreInstanceState。并且,onCreate和onStart并不总是被调用。

因此,即使活动移至后台,Android似乎也不会删除状态信息。但是,为了安全起见,它调用生命周期方法来保存状态。因此,如果状态未被删除,那么Android不会调用生命周期方法来恢复状态,因为它们不需要。

请参阅此链接以获取更多信息

http://developer.android.com/guide/components/activities.html#SavingActivityState