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

时间:2011-01-21 18:08:19

标签: ios multitasking

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

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

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

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

1 个答案:

答案 0 :(得分:9)

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