我对 Apple 官方生命周期图中显示的一个过渡有点困惑。这种Suspended -> Inactive
转变在我看来很奇怪。我的意思是应用程序如何跳过Background
状态。应用程序进入Suspended
状态的唯一方法是通过Background
. 因此,每当您返回应用程序时,它应该仍处于Background
状态一段时间,直到它接收到applicationDidEnterForeground
委托事件。那么,应用程序如何直接进入Inactive
状态省略Background
?Suspended <-> Background -> Inactive
似乎是唯一有效的过渡。此转换涵盖所有情况,例如,当应用程序Background
执行获取然后返回时的后台获取Suspended
,以及应用程序从Suspended
到Background
然后到的应用程序的常规唤醒Inactive
,但由于某种原因,存在这种提取转换。有人可以解释它为什么在这里吗?谢谢!
更新 1.也许这只是为了表明应用程序的定期唤醒而添加的?我的意思是没有后台获取和其他东西,应用程序直接在后台模式下被操作系统唤醒以执行一些操作。也许这只是显示用户正常返回应用程序时会发生什么的“缩短”方式?
2 回答
0
仔细看图。“未运行”是您的应用尚未启动的状态。当您点击应用程序图标时,它会进入非活动状态并显示到启动屏幕 UI。这种转变只在生命周期中发生一次,即在应用程序启动后立即发生。
然后应用程序自动进入“活动”状态。无法回到启动画面,在启动画面时也无法将应用置于后台;您必须进入“活动”状态一次。
于 2020-09-08T21:52:45.457 回答
0
正如您所建议的,此转换表示用户通过点击其图标或通知打开暂停的应用程序的时间。该应用程序不再暂停,但尚未激活(didBecomeActive
尚未调用),因此处于非活动状态。这是一个过渡状态。
于 2020-09-08T22:16:57.140 回答