我正在开发一个位置跟踪应用程序,该应用程序在后台使用标准位置服务和重大变化位置服务(我的应用程序在 iOS 4+ 中注册了后台位置更新)(如果适用)。感谢 this question我对从后台状态返回和从终止状态重新启动的重大变化有深刻的理解。但是,我仍然不清楚标准位置服务在这些情况下的行为方式。谁能分解在后台运行的标准位置服务的确切行为?
具体来说:
locationManager:didUpdateToLocation:fromLocation:
上的回调(我让它从套接字发送位置,我可以在网络上看到它)。处理此回调是否有时间或内存限制?application:didFinishLaunchingWithOptions:
和 UIApplicationLaunchOptionsLocationKey
重新启动?我认为 CLLocationManager
在这种情况下也需要重新启动,就像重大更改服务一样。谢谢。
回答 1 和 2,如果您已将应用注册为使用后台位置,那么您的应用不会终止并继续在后台运行,直到您执行以下操作:
[locationManager stopUpdatingLocation];
因此,没有时间或内存限制,但有电池限制。如果您的电池电量不足,所有使用 gps 的应用程序都将关闭。由于您的应用在正常情况下不会终止,因此它不需要或不会使用 UIApplicationLaunchOptionsLocationKey
标准服务和重要服务的不同之处在于,当有位置更新时,重要的服务会唤醒应用程序,但标准服务会使应用程序持续运行并因此耗尽电池电量。
在选择要使用的服务之前,请考虑阅读 Location-Awareness Programming guide.
关于iphone - iOS 4 后台运行的标准位置服务的应用程序生命周期行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284504/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |