在模拟器和设备上,我的LocationManager代表在监视SLC时,每行驶5分钟就会获取一次didUpdateToLocation:fromLocation:。为什么是这样?
最佳答案
根据CLLocationManager Class Reference:
对于不需要常规位置事件流的应用程序,
考虑使用startMonitoringSignificantLocationChanges方法来
开始传送事件。这种方法比较合适
对于大多数只需要初始用户的应用程序
位置修复,仅在用户大幅度移动时才需要更新
距离。此接口仅在检测到
更改设备关联的信号塔,从而减少
频繁更新,大大降低了功耗。
我的猜测是,当您的应用程序在后台运行时,iOS仅每5分钟“唤醒”该应用程序一次,以检查您是否进行了重大的位置更改,以节省电池寿命
this previous question中可能还会为您提供一些有用的信息。
关于ios - 为什么SLC更新总是5分钟?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11943699/