Android:生命周期,在手机启动时未调用onRestoreInstanceState

时间:2012-04-28 23:19:57

标签: android

我在活动类中使用这些函数: 的onSaveInstanceState onRestoreInstanceState 在onPause onCreate

当用户启动时,onCreate被调用,当用户结束时,onPause被调用。到目前为止很好。

但是当用户旋转手机时, 在onPause 的onSaveInstanceState 的onCreate 被叫。在onCreate之前,我原本期望onRestoreInstanceState。为什么会这样呢?如果没有,我应该如何处理ui-data的初始化呢?

1 个答案:

答案 0 :(得分:3)

  

在onCreate之前,我原本期望onRestoreInstanceState。

documentation for onRestoreInstanceState()明确指出:

  

当从之前保存的状态重新初始化活动时,在onStart()之后调用此方法,此处在savedInstanceState中给出。大多数实现只是简单地使用onCreate(Bundle)来恢复它们的状态,但有时在完成所有初始化之后在这里完成或允许子类决定是否使用默认实现是方便的。

如果您希望使用BundleonCreate()的内容初始化您的用户界面,请随时执行此操作。