在我的应用程序中,我使用GCD全局队列来执行某些任务。通常我的应用程序在后台模式下运行10分钟(GCD工作正常,还有@perfomselector)。之后没有任何东西在运行。
我的问题是,
苹果总是允许应用程序在后台模式下执行代码10分钟吗?
这10分钟后是否(暂停)申请暂停?
是否有任何可能的方法在应用程序被暂停时设置变量?(我研究的应用程序在被暂停时不会通知)
有没有办法检查GCD的状态(暂停与否)。
答案 0 :(得分:2)
苹果总是允许应用程序在后台模式下执行代码10分钟吗?
- >转换到后台的应用可以请求额外的时间来完成任何重要的最后一分钟任务。要请求后台执行时间,请调用UIApplication类的beginBackgroundTaskWithName:expirationHandler:方法。使用app对象的backgroundTimeRemaining属性来查看可用的时间。
这10分钟后是否(暂停)申请暂停?
- >我认为没有像10分钟这样的限制。该设备仅在有限的时间内执行后台任务。
当应用程序被挂起时,是否有任何可能的方法来设置变量?(我研究的应用程序在被暂停时不会通知)
- >当应用程序在后台但没有执行代码时。系统会自动将应用程序移动到挂起状态,并且在执行此操作之前不会通知它们。 backgroundTimeRemaining属性可能有助于获得执行某些bg任务的剩余时间。