gpt4 book ai didi

android - onRestoreInstanceState() 在预期时未被调用

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:02 27 4
gpt4 key购买 nike

我最近在使用 onSaveInstanceState()onRestoreInstanceState() 时遇到了一些麻烦。我有多个 Activity 使用这些方法来保存状态,以防它们被系统清理。它们中的大多数都有效,只有一个除外,我不知道为什么。

具体情况是这样的:

  • 我的模拟器正在运行,开发工具设置为 destroy() 所有不再可见的 Activity 。 (这样我就可以证明保存/恢复工作正常。)
  • 有问题的 Activity 已启动,我继续更改其某些状态。
  • 我启动了一个新的 Activity,让它运行一会儿,然后使用“后退”按钮转到我之前的 Activity。
  • 回到相关 Activity 后,我注意到默认状态已返回,因此它没有应有的状态。

我注意到 onSaveInstanceState() 被调用,onCreate() 被调用,但有一个空包,并且 onRestoreInstanceState() 永远不会被调用。

有人见过这个吗?

最佳答案

我相信我已经弄清楚了这个问题,而且我没有在原始问题中透露细节。

我保存在包中的东西之一非常大(500x1000 像素位图)。当我从我的 Bundle 中删除它时,其他所有内容都被保存,onCreate() 方法与 Bundle 一起被调用,并且 onRestoreInstanceState() 也被调用。

因此我相信在 onSaveInstanceState() 中可以保存最大大小的 Bundle,但没有记录。 (至少据我所知)

关于android - onRestoreInstanceState() 在预期时未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3128527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com