当后台服务取消暂停或重新启动时,iOS 应用程序需要多长时间?
Posted
技术标签:
【中文标题】当后台服务取消暂停或重新启动时,iOS 应用程序需要多长时间?【英文标题】:How much time is an iOS app given when unsuspended or relaunched by a background service? 【发布时间】:2011-03-26 19:05:58 【问题描述】:我有一个基于位置的 ios 4 应用程序,该应用程序在后台依赖于显着的位置变化监控。 Apple 的文档状态:
在唤醒时间,您的应用程序正在 放入后台并给出一个 少量的时间来处理 位置数据。因为你的 应用程序在后台,它 应该做最少的工作并避免任何 任务(例如查询网络) 这可能会阻止它返回 在分配的时间到期之前。
有人知道“一小段时间”有多长吗?具体来说,我想知道我是否有足够的时间在位置管理器上调用startUpdatingLocation
以获得比初始位置事件可能提供的更准确的修复。 (我的后台位置事件几乎总是将它们的horizontalAccuracy
报告为 1000m。)
如果 Apple 的“少量时间”不足以达到此目的,我是否可以从后台应用程序调用 beginBackgroundTaskWithExpirationHandler:
以请求更多时间?我知道这通常会给你额外的 600s,这绰绰有余。
【问题讨论】:
【参考方案1】:您是否绝对需要在应用程序重新启动期间找到更准确的修复程序,或者您是否可以在您的应用程序移至前台后执行此繁重的工作,并在工作时显示“正在加载...”类型的屏幕发生?这将消除对超时的任何担忧。
【讨论】:
在唤醒/重新启动时,我试图确定用户是否在某些预定义位置的范围内。如果不是,它应该回到睡眠状态,直到它接收到另一个位置事件。基于区域的监控会更符合逻辑,但这本质上是一款新颖的应用程序,我不希望永远在线监控的电池电量不足。以上是关于当后台服务取消暂停或重新启动时,iOS 应用程序需要多长时间?的主要内容,如果未能解决你的问题,请参考以下文章