【问题标题】:When onRestoreInstanceState is not called?什么时候不调用 onRestoreInstanceState?
【发布时间】:2020-02-02 16:14:03
【问题描述】:

Docs 描述了何时调用onRestoreInstanceState

此方法在onStart() 之后调用,当活动从先前保存的状态重新初始化时,在 savedInstanceState 中给出。 (...) 此方法在onStart()onPostCreate(Bundle) 之间调用。该方法仅在重新创建活动时调用; 如果由于任何其他原因调用onStart(),则不会调用该方法

我非常好奇“onStart() 被称为出于任何其他原因”在onRestoreInstanceState 的上下文中是什么意思?

【问题讨论】:

    标签: android android-lifecycle activity-lifecycle onsaveinstancestate


    【解决方案1】:

    Activity 的正常生命周期如下所示:

    • onCreate()
    • .
    • onStart()
    • onResume()
    • onPause()
    • onStop()
    • .
    • onDestroy()

    如果Activity 完全被另一个Activity 遮挡,onStart()onStop() 之间的生命周期回调可能会反复发生。在这种情况下,当Activity 完全被另一个Activity 遮挡时,会调用onStop()。当Activity 再次可见时,onStart() 将被调用onRestoreInstanceState() 不会被调用,因为Activity 没有被重新创建。

    【讨论】:

    • 啊啊啊现在我明白他们的意思了!这很明显,但写得不幸。
    • 是的。不幸的是,有些文档不是很清楚。
    猜你喜欢
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2014-03-27
    • 2020-01-09
    相关资源
    最近更新 更多