在我的应用程序开发的开始阶段,我onSaveInstanceState()用来保存我的数据Bundle并在 Activity 中恢复我的状态onCreate()- 例如,这有助于在轮换期间进行快速测试。然后我决定我的一些数据,比如说一个整数,应该在运行之间持久化,所以我决定SharedPreferences在onPause(). 问题是:我可以安全地删除 Bundle 保存/恢复版本onSaveInstanceState()并仅依赖保存的持久版本,还是我应该同时保留并onCreate()检查两个源,无论哪个都存在?
我在这里挖了很多类似的帖子,有些人说他们使用以下模式onCreate():
if (savedInstance != null && ...contains the saved data...) {
...use the saved data...
} else {
...load the saved data from preferences...
}
所以我想知道是否有一个场景会经历onSaveInstanceState()而不是经历onPause()会让我也保存相同的东西Bundle?我只想使用else上面的部分。