【问题标题】:Interrupted method when user pushes home button?用户按下主页按钮时中断方法?
【发布时间】:2011-10-29 08:18:12
【问题描述】:

当用户在 iOS 设备上按下主页按钮并且应用当前正在运行一个方法时会发生什么情况:该方法会完成运行还是会在中间中断?

【问题讨论】:

  • - (void)applicationWillResignActive:(UIApplication *)application 被调用。我会想象你所关心的完成方法,但任何回调等可能会或可能不会被尊重
  • 试试看。将打印语句放在连续调用的方法的顶部和底部,然后按主页按钮

标签: objective-c ios cocoa-touch methods lifecycle


【解决方案1】:

就像 Maudicus 所写,applicationWillResignActive:applicationDidEnterBackground: 在应用程序委托上被调用。您应该假设当前正在运行的任何方法都将被中断。如果要确保执行特定操作,则应将其放入上述方法之一中。

【讨论】:

  • 该方法不会被中断,除非它是一个非常长的操作。我忘记了超时时间,但是您有有限的时间来清理后台。无论代码是在当前运行的方法中还是移动到后台方法之一,该超时都是相同的。如果代码完成时间过长,无论它在哪个方法中,它都会被中止。因此,将其移至后台方法将一无所获。
猜你喜欢
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
相关资源
最近更新 更多