viewDidAppear 在 applicationDidEnterBackground 之后调用?

viewDidAppear called after applicationDidEnterBackground?

据我所知,在 applicationDidEnterBackground returns 之后不能调用任何东西,因为在那之后应用程序被暂停。我的应用程序以这种方式设计 - 它从初始控制器开始,该控制器从服务器加载一些数据,一旦加载它就会转到另一个控制器。我将一个断点设置为我的第二个 vc 的 viewWill/DidAppear 和另一个断点 applicationDidEnterBackground 在 AppDelegate 中。我启动应用程序并立即将其最小化。令我大吃一惊的是 applicationDidEnterBackground 并不是我能够捕捉到的最后一个断点!有时我按 SecondVC.viewWillAppear -> applicationDidEnterBackground -> SecondVC.viewDidAppear 的顺序捕捉它们,有时按 applicationDidEnterBackground -> SecondVC.viewWillAppear -> SecondVC.viewDidAppear 的顺序捕捉它们 !这怎么可能 ?我能弄清楚的唯一充分解释是,当应用程序附加到调试器生命周期时,工作方式略有不同,但我不确定这就是原因。那么,有人可以解释为什么会这样吗?谢谢!

applicationDidEnterBackground: 不是应用程序进程在挂起之前执行的最后一个例程。

根据该方法的description,您的应用程序进程在调用该方法后的接下来的5(五)秒内不会暂停,并保持运行正常。