Android架构组件生命周期状态

时间:2017-06-07 08:22:49

标签: android android-architecture-components android-architecture-lifecycle

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

  

STARTED   Lifecycle.State开始   对于Activity,在两种情况下达到此状态:onStart之后   呼叫;在onPause电话之前。

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

1 个答案:

答案 0 :(得分:7)

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

Lifecycle states

另请注意Lifecycle class documentation中的以下内容:

  

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

执行onPause()RESUMED州的结束边界。此时,活动不再被视为RESUMED,而且肯定不是DESTROYED。由于我们没有PAUSED状态,因此它现在必须处于STARTED状态。这在技术上是正确的,活动尚未停止,但不再恢复。