【问题标题】:onSaveInstanceState always calledonSaveInstanceState 总是被调用
【发布时间】:2012-11-13 09:11:46
【问题描述】:

我似乎和其他人有相反的问题。 :)

每当我从一个活动导航到下一个活动时,都会调用我的 onSaveInstanceState。 我签入了 LogCat,它绝对不会杀死活动。 另外,我看到 onRestoreInstanceState 在返回时没有被调用,所以它一定还在内存中。

我以为它只在释放内存或改变方向时才被调用。

【问题讨论】:

  • onSaveInstanceState 被调用有什么问题?
  • 这似乎是在浪费时间,因为我必须序列化数据并将其保存到包中。不是世界末日,如果不需要,似乎是一种浪费。
  • 不幸的是,我认为您无法控制如何调用此方法

标签: android android-activity savestate


【解决方案1】:

是的,onSaveInstanceState() 在活动暂停时被调用。这是因为一旦 Activity 暂停,Android 可以随时终止进程(无需调用任何其他生命周期方法)。如果 Activity 在进程被杀死之前恢复,Android 会意识到它不需要调用onRestoreInstanceState(),因此它不会进行调用(这是一种优化)。

【讨论】:

    【解决方案2】:

    医生说的怎么样;

    "如果被调用,这个方法会在onStop()之前发生,不保证会在onPause()之前还是之后发生。"

    【讨论】:

      猜你喜欢
      • 2015-03-28
      • 2013-04-02
      • 2021-03-17
      • 2017-09-14
      • 2012-02-19
      • 2020-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多