3

测试监控区域的应用程序然后唤醒以进行一些处理。我似乎找不到任何文档说明在看门狗计时器启动并终止应用程序之前我必须在后台工作多长时间。

4

2 回答 2

1

我看到了一份文件(甚至我相信是官方的),其中显示了与背景相关的大部分时间。但是,我现在找不到它(我会尝试找到它并在此处发布)。

根据我的经验,我相信应用程序会在位置发生重大变化时被唤醒 10 秒。此外,有趣的是,如果您尝试调用 backgroundTimeRemaining,它将在这 10 秒内返回 +INFINITY(一般来说,此 API 仅针对 beginBackgroundTaskWithExpirationHandler 设计:)

更新 1

对不起。我找不到那个文件。我感觉它已被 Apple 删除/更新,因为之前(大约 6 个月前)我在搜索 iOS 后台信息时经常点击它。

我发现了一些有趣的事情。一个在这里。它与 VOIP 回调有关。

它说:“您的处理程序最多有 10 秒的时间来执行任何需要的任务并退出。如果在时间到期之前它没有退出,则应用程序被挂起。”

此外,这里提到了蓝牙的相同 10 秒:

“在被唤醒后,应用程序有大约 10 秒的时间来处理数据。”

我相信位置管理器唤醒、VOIP 和蓝牙唤醒的基本机制是完全相同的,它们都授予 10 秒的执行时间/

于 2013-03-11T23:32:01.590 回答
-1

您最多可以注册 10 分钟的后台任务。但是,如果您想知道被调用的方法可以执行多长时间,请尝试使用无限循环来测量它!

于 2013-03-11T10:04:12.490 回答