0

为什么我的长时间运行的后台任务完成后我的应用程序没有立即挂起?

在 iOS 8 上运行的应用程序使用长时间运行的后台任务来避免在进入后台时被挂起。一切都很好。任务完成后,应用程序调用后台任务完成处理程序:

        [[UIApplication sharedApplication] endBackgroundTask:backgroundTask];
        backgroundTask = UIBackgroundTaskInvalid;

但是,调用backgroundTimeRemaining返回 40 秒的时间间隔。

[[UIApplication sharedApplication] backgroundTimeRemaining]

事实上,应用程序在结束任务后至少不会再挂起 20 秒。

  • 为什么会这样?
  • 应用程序是否总是会收到完整的执行时间?
  • 我可以加快应用暂停吗?
4

1 回答 1

0

进一步调试后,很明显backgroundTimeRemaining在任务完成后不会立即更新。该应用程序不久后暂停,可能是在运行循环旋转之后。您不应期望backgroundTimeRemaining始终准确。

于 2014-11-03T21:02:21.693 回答