4

https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.State.html

STARTED Lifecycle.State STARTED 对于一个Activity,有两种情况会达到这个状态:onStart调用后;在 onPause 调用之前。

正如上面的文档所说,在 onPause 调用之前,我无法理解 STARTED 状态背后的基本原理。有人可以解释一下吗?

4

1 回答 1

16

请注意, 中的值Lifecycle.State enum不包括PAUSED状态。只有五个状态:CREATED, DESTROYED, INITIALIZED, RESUMED, STARTED。这些与我们都知道和喜爱的正常 Activity 生命周期并不完全对应:

生命周期状态

另请注意Lifecycle 类文档中的以下内容:

该类中的 ON_CREATE、ON_START、ON_RESUME 事件在 LifecycleOwner 的相关方法返回后调度。此类中的 ON_PAUSE、ON_STOP、ON_DESTROY 事件在LifecycleOwner 的相关方法被调用之前调度

的执行onPause()是状态的关闭边界RESUMED。此时,不再考虑 Activity ,RESUMED当然也不会DESTROYED。由于我们没有PAUSED它遵循的状态,它现在必须处于STARTED状态。这在技术上是正确的,Activity 尚未停止但不再恢复。

于 2017-06-07T09:06:08.583 回答