【问题标题】:When App Delegate's method willTerminate is executed?App Delegate 的方法 willTerminate 什么时候执行?
【发布时间】:2018-04-29 01:29:24
【问题描述】:

目前我正在测试AppDelegate 方法,当它们通过将NSLog 添加到每个方法来执行时。我不清楚的是何时执行方法applicationWillTerminate?我试图将应用程序置于后台,然后终止它,但未执行来自 Terminate 方法的日志。执行的是这样的:

2015-09-01 16:24:01.512 TestQuestions[2351:110179] didFinisLaunching
2015-09-01 16:24:02.530 TestQuestions[2351:110179] didBecomeActive
2015-09-01 16:24:05.864 TestQuestions[2351:110179] willResign
2015-09-01 16:24:06.322 TestQuestions[2351:110179] didEnterBackground

【问题讨论】:

标签: ios objective-c appdelegate


【解决方案1】:

我不清楚的是何时执行方法 applicationWillTerminate

几乎没有。它可以在某些罕见的情况下调用,例如,在后台播放音乐并从那里终止。但总的来说,您应该期望它永远不会被调用,因为当您被终止时,您已经被暂停并且您的代码不再运行(并且系统不会唤醒您只是告诉您它正在杀死您在后台)。

【讨论】:

  • 感谢您的回答。该应用程序如何知道从后台终止?
  • 你看我刚才说的了吗?它不“知道”,因为它已经被暂停了。它刚刚被杀死,就像 2001 年:太空漫游中的科学家们一样,他们在已经处于假死状态时被 HAL 9000 杀死。
  • 好的。谢谢。这对我很有帮助。
【解决方案2】:

applicationWillTerminate 将执行的一次是用户触摸(一次或两次)Home 按钮,然后将应用滑出屏幕。

我个人经常这样做,因为我触摸主页按钮来切换我想要激活的常用应用程序,而不是在我的 9 页图标中找到它们。

【讨论】:

    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2018-12-05
    相关资源
    最近更新 更多