首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在后台运行的标准位置服务的iOS 4应用生命周期行为

在后台运行的标准位置服务的iOS 4应用生命周期行为
EN

Stack Overflow用户
提问于 2011-06-08 20:00:19
回答 1查看 975关注 0票数 2

我正在开发一个位置跟踪应用程序,该应用程序在后台使用标准位置服务和重大更改位置服务(我的应用程序在iOS 4+中注册了后台位置更新)。由于有了这个问题,我对如何从后台状态返回更改并从终止状态重新启动有了很好的理解。但是,我仍然不清楚标准位置服务在这些实例中的行为。有人能分解在后台运行的标准位置服务的确切行为吗?

具体地说:

  1. 当您将标准位置服务保持在运行状态并将应用挂起到后台时,标准位置服务是如何运行的?从我自己的测试中,我看到它将继续唤醒接收locationManager:didUpdateToLocation:fromLocation:上的回调(我让它发送一个套接字,我可以在网络上看到它)。此回调是否有处理时间或内存限制?
  2. 即使我的应用程序被终止,标准的位置服务也会继续运行吗?也就是说,它是否会像重大更改服务那样用application:didFinishLaunchingWithOptions:UIApplicationLaunchOptionsLocationKey重新启动呢?我假设在这种情况下还需要重新启动CLLocationManager,就像重大更改服务所做的那样。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-08-02 07:52:18

请同时回答1和2,如果您已经将应用程序注册为使用后台位置,则您的应用程序不会终止,并继续在后台运行,直到您完成以下操作:

代码语言:javascript
复制
[locationManager stopUpdatingLocation];

因此,没有时间或内存限制,但有电池限制。如果你的电池不足,所有使用gps的应用程序都将关闭。由于您的应用程序在正常情况下没有终止,所以它不是必需的,就是不重新启动(因为电池终止后)使用UIApplicationLaunchOptionsLocationKey

标准服务和重要服务的不同之处在于,当出现位置更新时,重要的服务会唤醒应用程序,但标准服务会使应用程序持续运行,从而耗尽电池。

在选择要使用的服务之前,请考虑读取位置-意识规划指南。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6284504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档