0

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

4

1 回答 1

1

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

根据该方法的描述,在调用该方法后的大约 5(五)秒内,您的应用进程不会暂停,并保持正常运行。

于 2020-08-28T15:22:36.423 回答