3

我不确定我是不是做错了什么,但是当我偶然发现一个类似的错误时,它也可能是另一个错误。我想知道您是否可以确认这一点,甚至知道解决方案?

好的,所以我有一个包含两个活动 A 和 B 的选项卡主机。

A 是“第一个”选项卡。因此,如果我执行以下操作:

  • (A打开)
  • 开关 B
  • 关闭应用
  • 杀死进程
  • 再次打开应用
  • (B出现)

然后我一切都很好。使用 Log 我看到 A 和 B 都调用了“onRestoreInstanceState”。

现在,我执行以下操作:

  • (B已打开,我还没有切换回A)
  • 开关 B
  • 关闭应用
  • 杀死进程
  • 再次打开应用
  • (B出现)

然后为 B 调用“onRestoreInstanceState”,但不为 A 调用。A 在“onCreate”中是一个空包。

如果我切换到 A,然后再回到 B,就可以了。之后,我可以重复上述行为。

我知道这听起来有点令人困惑,但是以前有人遇到过吗?

亲切的问候,水母

编辑:

我已经为另一个选项卡重复了此操作(保持 A 打开,终止活动,恢复它,再次终止它,再次恢复它)。然后,直到我故意切换选项卡才调用B的“onCreate”;并且无论之前是否恢复,它总是获得 SavedInstance Bundle。所以一切都很好。

编辑2:

除了例外,旋转变化也是如此。以前真的没有人注意到这一点吗?在 2.2 模拟器和 2.3 手机上都可以使用。

4

0 回答 0