1

我已经通过 Bundle 实现了保存(onSaveInstanceState)和恢复(onCreate)。它在由于方向变化而重新创建活动时起作用,但在其他应用程序要求资源后重新创建活动时不起作用。在这种情况下,事实证明我的捆绑包中的数据键不存在。为什么?我很茫然。

4

1 回答 1

1

保存onSaveInstanceState()和传回的 BundleonCreate()不是持久的,仅用于在应用程序的生命周期内保存配置更改和 Activity 重新创建期间的状态。

如果您的应用程序被破坏,就像这里发生的那样,您将需要将您的值存储在持久的地方,例如SharedPreferences

使用onPause()onResume()来保存和恢复。

http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)

于 2013-04-06T09:24:12.693 回答