https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.State.html
STARTED STARTED是Lifecycle.State的一种状态。 对于Activity,这个状态在两种情况下会出现:在onStart调用之后;在onPause调用之前。
如上所述的文档,我无法理解在onPause调用之前为什么要使用STARTED状态。有人能解释一下吗?
https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.State.html
STARTED STARTED是Lifecycle.State的一种状态。 对于Activity,这个状态在两种情况下会出现:在onStart调用之后;在onPause调用之前。
如上所述的文档,我无法理解在onPause调用之前为什么要使用STARTED状态。有人能解释一下吗?
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 尚未停止,但已不再处于恢复状态。