Android架构组件:生命周期状态

4
1个回答

16
请注意,Lifecycle.State enum中的值不包括 PAUSED 状态。只有五个状态: CREATED, DESTROYED, INITIALIZED, RESUMED, STARTED。它们并不完全对应我们所熟知和喜爱的正常 Activity 生命周期:Lifecycle states 此外,请注意来自 Lifecycle 类文档的以下内容:

在该类中,ON_CREATE, ON_START, ON_RESUME 事件是在 LifecycleOwner 相关方法返回后分派的。 ON_PAUSE, ON_STOP, ON_DESTROY 事件是在 LifecycleOwner 相关方法被调用之前分派的。

onPause() 的执行是 RESUMED 状态的关闭边界。此时,Activity 不再被认为是 RESUMED,当然也不是 DESTROYED。由于我们没有 PAUSED 状态,因此可以得出结论它现在必须处于 STARTED 状态。从技术上讲,Activity 尚未停止,但已不再处于恢复状态。

感谢David提供的有用回复。根据生命周期图表,这是否意味着当Activity暂停时,它将保持在STARTED状态,而当它停止时则处于CREATED状态? - Ashesh Bharadwaj
@AsheshBharadwaj 谢谢,那张图片让它更加清晰了。 - David Rawson
@Ashesh,对于你的问题,答案是“有条件的肯定”。技术上来说,可以根据文档来说明。 - David Rawson
@Ashesh 可能是因为这样比较状态更容易。 - David Rawson
4
等等,我不明白。我该如何检查当前状态是否已暂停/停止?或者要向其注册? - android developer
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接