Android:TabHost活动在kill / OnSaveInstanceState未调用后表现得很奇怪

时间:2011-05-25 14:36:16

标签: java android android-activity tabactivity activity-lifecycle

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

好的,我有一个包含两个活动A和B的标签主机。

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

  • (A打开)
  • 开关B
  • 关闭应用
  • 杀死进程
  • 再次打开应用
  • (B出现)
然后我一切都很好。使用Log我看到A和B都调用了“onRestoreInstanceState”。

现在,我执行以下操作:

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

然后为B调用“onRestoreInstanceState”,但不为A调用。在“onCreate”中获取一个null Bundle。

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

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

亲切的问候, 水母

修改

我已经为另一个标签重复此操作(保持A打开,杀死活动,恢复它,再次杀死它,再次恢复它)。然后,在我故意切换标签之前,不会调用B的“onCreate”;并且无论它之前是否恢复,它总是得到SavedInstance Bundle。一切都很好。

EDIT2:

除外,旋转变化也是如此。以前没有人注意到这个吗?这在2.2模拟器和2.3手机上都有效。

0 个答案:

没有答案