0

我对 Apple 官方生命周期图中显示的一个过渡有点困惑。这种Suspended -> Inactive转变在我看来很奇怪。我的意思是应用程序如何跳过Background状态。应用程序进入Suspended状态的唯一方法是通过Background. 因此,每当您返回应用程序时,它应该仍处于Background状态一段时间,直到它接收到applicationDidEnterForeground委托事件。那么,应用程序如何直接进入Inactive状态省略BackgroundSuspended <-> Background -> Inactive似乎是唯一有效的过渡。此转换涵盖所有情况,例如,当应用程序Background执行获取然后返回时的后台获取Suspended,以及应用程序从SuspendedBackground然后到的应用程序的常规唤醒Inactive,但由于某种原因,存在这种提取转换。有人可以解释它为什么在这里吗?谢谢!

更新 1.也许这只是为了表明应用程序的定期唤醒而添加的?我的意思是没有后台获取和其他东西,应用程序直接在后台模式下被操作系统唤醒以执行一些操作。也许这只是显示用户正常返回应用程序时会发生什么的“缩短”方式? 在此处输入图像描述

4

2 回答 2

0

仔细看图。“未运行”是您的应用尚未启动的状态。当您点击应用程序图标时,它会进入非活动状态并显示到启动屏幕 UI。这种转变只在生命周期中发生一次,即在应用程序启动后立即发生。

然后应用程序自动进入“活动”状态。无法回到启动画面,在启动画面时也无法将应用置于后台;您必须进入“活动”状态一次。

于 2020-09-08T21:52:45.457 回答
0

正如您所建议的,此转换表示用户通过点击其图标或通知打开暂停的应用程序的时间。该应用程序不再暂停,但尚未激活(didBecomeActive尚未调用),因此处于非活动状态。这是一个过渡状态。

于 2020-09-08T22:16:57.140 回答