Rob*_*Rob 19 objective-c grand-central-dispatch ios
我一直在搜索关于应用程序状态和Grand Central Dispatch的Apple文档,但我没有找到这个问题的好答案.
根据Apple的文档,在iOS 4.0上:
应用程序在后台但不执行代码.系统会在适当的时间自动将应用程序移动到此状态.暂停时,应用程序基本上在其当前状态下冻干,并且不执行任何代码.在内存不足的情况下,系统可能会清除已暂停的应用程序,恕不另行通知,以便为前台应用程序腾出更多空
因此,假设系统没有清除挂起的应用程序(挂起 - >未运行转换),当前在调度队列中执行的任务会发生什么?短语"基本上冻干"还有很多不足之处 - 究竟什么是冷冻干燥的?
我的解释是当应用程序转换回活动状态时,应用程序在暂停时使用的GCD队列需要恢复; 根据这种解释,暂停前GCD队列中存在的任务将消失.我的解释是否正确?
Rya*_*yan 19
当应用程序暂停时,整个过程将被冻结.一旦恢复,你可以指望恢复过程,好像什么都没发生一样.您的应用程序的GCD逻辑队列不会消失,它们会保留在内存中.GCD在您的进程中创建的线程为您的队列提供服务,恢复原状,就像没有发生任何事情一样.
所以你的解释是不正确的:暂停前GCD队列中存在的任务在恢复时不会消失.他们从未离开; 他们只是暂停了.
| 归档时间: |
|
| 查看次数: |
3483 次 |
| 最近记录: |