【问题标题】:viewDidAppear called after applicationDidEnterBackground?在 applicationDidEnterBackground 之后调用 viewDidAppear?
【发布时间】:2020-12-17 07:29:18
【问题描述】:

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

【问题讨论】:

  • 你应该提供你尝试过的关于你的陈述的代码

标签: ios swift ios-lifecycle


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回复。我将此标记为例外
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多