0

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

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

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

4

1 回答 1

3

我会在 onCreate 之前期望 onRestoreInstanceState。

文档onRestoreInstanceState()明确指出:

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

如果您希望使用Bundlein 中的内容初始化您的 UI onCreate(),请随意这样做。

于 2012-04-28T23:24:56.990 回答