我有一个为结果启动其他 Activity 的 Activity ,因此当结果返回时,该 Activity 可能已被销毁并重新创建。
我已经重写了onSaveInstanceState,以便添加需要保存和恢复的数据。
当 Activity 被销毁并重新创建时,onCreate 被传递给 savedInstanceState 包;但是也 onRestoreInstanceState() 被调用并传递了同一个包。
那么我应该把从包中提取数据并恢复状态的代码放在哪里?在 onCreate 中还是在 onRestoreInstanceState 中?后者是否保证总是被调用?
是否可以在不调用 onCreate 的情况下调用 onRestoreInstanceState? (例如,如果 Activity 停止并重新启动,但没有销毁和重新创建)?
最佳答案
"在onCreate()期间你可以选择实现onRestoreInstanceState(),而不是恢复状态,系统在onStart()方法之后调用它。系统只有在有一个保存的状态需要恢复时才调用onRestoreInstanceState(),所以不需要检查Bundle是否为NULL"
以下链接非常清楚地解释了重启 Activity 。
关于android - 我应该在 onCreate 还是 onRestoreInstanceState 中恢复 savedinstancestate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23472415/