据我所知,在applicationDidEnterBackground
返回后什么都不能调用,因为在那之后应用程序被暂停。我的应用程序是这样设计的——它从从服务器加载一些数据的初始控制器开始,一旦加载,它就会转到另一个控制器。我viewWill/DidAppear
在我的第二个 vc 中设置了一个断点,
applicationDidEnterBackground
在 AppDelegate 中设置了另一个断点。我启动应用程序并立即将其最小化。令我大吃一惊applicationDidEnterBackground
的不是我能够捕获的最后一个断点!有时我按此顺序捕获它们SecondVC.viewWillAppear
-> applicationDidEnterBackground
->SecondVC.viewDidAppear
有时按此顺序 - applicationDidEnterBackground
> SecondVC.viewWillAppear
->SecondVC.viewDidAppear
!这怎么可能 ?我能弄清楚的唯一充分的解释是,当应用程序附加到调试器生命周期时,工作方式略有不同,但我不确定这是否是原因。那么,有人可以解释为什么会发生这种情况吗?谢谢!
1 回答
1
applicationDidEnterBackground:
不是应用程序进程在挂起之前执行的最后一个例程。
根据该方法的描述,在调用该方法后的大约 5(五)秒内,您的应用进程不会暂停,并保持正常运行。
于 2020-08-28T15:22:36.423 回答