首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么onRestoreInstanceState()从未被调用

为什么onRestoreInstanceState()从未被调用
EN

Stack Overflow用户
提问于 2011-04-07 00:19:56
回答 6查看 33.3K关注 0票数 42

我正在尝试在我的活动中保存数据,而不是恢复它。我将数据保存在onSaveInstanceState()上,然后尝试恢复onRestoreInstanceState()中的数据。

我设置了断点,调用了onSaveInstanceState()方法。但onRestoreInstanceState()onCreate()从来没有这么做过。

以下是我的步骤:

  1. 启动我的Activity
  2. 按电话上的“家”键。onSaveInstanceState()接到电话。
  3. 单击发射器中的图标,然后再次启动我的Activity

此时,只有onRestart()被调用。但不是onRestoreInstanceState()onCreate()

有人知道为什么吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-04-07 00:40:20

如果调用onRestart(),则实例变量的值将由应用程序堆栈本身维护,因此不需要还原它们。

只有当您的onCreate()onStop()被调用并且进程被终止时,才会调用Activity方法。

请参考Activity生命周期Android活动生命周期以获得清晰的理解。

您可能需要检查是否调用了onStop()方法,以及进程是否被终止。我不认为您的过程会被您描述的场景所扼杀。

onRestoreInstanceState()方法非常棘手。我不知道它的确切名称是什么时候,但我看到它是一次调用时,从诗人到景观。

票数 18
EN

Stack Overflow用户

发布于 2013-08-05 11:03:57

来自医生:

只有在存在要恢复的保存状态时,系统才调用onRestoreInstanceState()。

票数 18
EN

Stack Overflow用户

发布于 2011-04-07 01:23:57

我之前在这里上问过类似的问题

下面是测试onRestoreInstanceState()的一些步骤

  1. 按主屏幕
  2. 通过亚行杀死应用程序
  3. 再次启动您的应用程序
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5574462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档