在iOS多任务处理中进入后台时线程的行为

Mic*_*all 5 multitasking ios

在运行一些测试时,我注意到当一个应用程序(没有后台权限,即voip,gps等)进入后台状态时,当时运行的任何后台线程(或并发NSOperations)似乎都被暂停(未终止) ,当应用程序进入前台时它们会继续.

我无法在任何地方看到此线程行为.有谁知道这种行为是否已定义且可以依靠?

如果线程可以在重新打开应用程序时安全地继续,那么不必取消任务或参与任务完成将是有用的.特别适合复杂的操作.

任何信息都会很棒.谢谢!

ugh*_*fhw 9

当一个非多任务应用程序退出时,它将被冻结在当前状态并留在内存中.但是,如果内存不足,用户从多任务栏关闭它,或者设备关闭,应用程序将在没有警告的情况下终止.您可以相信从后台返回的应用程序将像以前一样继续,但是在应用程序关闭时您应该在进入后台时保存状态.

  • 看起来应用程序的状态和它的线程一旦进入前景就会被维护并继续.唯一要知道的是,你不能保证任何委托调用(即-applicationWillEnterForeground :)将被__before__后台线程执行开始. (3认同)