在模拟器和设备上,我的LocationManager代表在监视SLC时,每行驶5分钟就会获取一次didUpdateToLocation:fromLocation:。为什么是这样?

最佳答案

根据CLLocationManager Class Reference


  对于不需要常规位置事件流的应用程序,
  考虑使用startMonitoringSignificantLocationChanges方法来
  开始传送事件。这种方法比较合适
  对于大多数只需要初始用户的应用程序
  位置修复,仅在用户大幅度移动时才需要更新
  距离。此接口仅在检测到
  更改设备关联的信号塔,从而减少
  频繁更新,大大降低了功耗。


我的猜测是,当您的应用程序在后台运行时,iOS仅每5分钟“唤醒”该应用程序一次,以检查您是否进行了重大的位置更改,以节省电池寿命

this previous question中可能还会为您提供一些有用的信息。

关于ios - 为什么SLC更新总是5分钟?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11943699/

10-11 17:09