android - 我应该在 onCreate 还是 onRestoreInstanceState 中恢复 savedinstancestate?

标签 android oncreate onrestoreinstancestate

我有一个为结果启动其他 Activity 的 Activity ,因此当结果返回时,该 Activity 可能已被销毁并重新创建。

我已经重写了onSaveInstanceState,以便添加需要保存和恢复的数据。

当 Activity 被销毁并重新创建时,onCreate 被传递给 savedInstanceState 包;但是 onRestoreInstanceState() 被调用并传递了同一个包。

那么我应该把从包中提取数据并恢复状态的代码放在哪里?在 onCreate 中还是在 onRestoreInstanceState 中?后者是否保证总是被调用?

是否可以在不调用 onCreate 的情况下调用 onRestoreInstanceState? (例如,如果 Activity 停止并重新启动,但没有销毁和重新创建)?

最佳答案

"在onCreate()期间你可以选择实现onRestoreInstanceState(),而不是恢复状态,系统在onStart()方法之后调用它。系统只有在有一个保存的状态需要恢复时才调用onRestoreInstanceState(),所以不需要检查Bundle是否为NULL"

以下链接非常清楚地解释了重启 Activity 。

Android Guide

关于android - 我应该在 onCreate 还是 onRestoreInstanceState 中恢复 savedinstancestate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23472415/

相关文章:

Android Google Firebase 数据库对象值

android - 如何在android中导入谷歌联系人(以编程方式)?

锁屏后调用Android onCreate

android - OnCreate 方法不断被重复调用

android - 在 Android Dialog fragment show() 方法的 TAG 参数中传递什么

java - 致命异常 : android. app.RemoteServiceException 从包发布的错误通知

java - 启动画面不会显示,只有空白区域

java - 如何向 Android 应用程序添加简单的代码

java - 方向改变后保持 CountDownTimer 运行

android - 从 onRestoreInstanceState() 刷新 RecyclerView 不起作用