长时间运行的后台任务完成后应用程序未挂起
Posted
技术标签:
【中文标题】长时间运行的后台任务完成后应用程序未挂起【英文标题】:App not suspending after long-running background task completes 【发布时间】:2014-11-01 00:18:45 【问题描述】:为什么我的应用在长时间运行的后台任务完成后没有立即挂起?
在 ios 8 上运行的应用使用长时间运行的后台任务来避免在进入后台时被挂起。 一切都很好。任务完成后,应用调用后台任务完成处理程序:
[[UIApplication sharedApplication] endBackgroundTask:backgroundTask];
backgroundTask = UIBackgroundTaskInvalid;
但是,对 backgroundTimeRemaining
的调用会返回 40 秒的时间间隔。
[[UIApplication sharedApplication] backgroundTimeRemaining]
确实,应用程序在结束任务后至少再挂起 20 秒。
为什么会这样? 应用是否总是会收到完整的执行时间? 我可以加快应用暂停吗?【问题讨论】:
【参考方案1】:进一步调试后,很明显backgroundTimeRemaining
不会在任务完成后立即更新。该应用程序不久后暂停,可能是在运行循环旋转之后。您不应期望 backgroundTimeRemaining
始终准确。
【讨论】:
以上是关于长时间运行的后台任务完成后应用程序未挂起的主要内容,如果未能解决你的问题,请参考以下文章