iOS 上的标准定位服务电池消耗
Posted
技术标签:
【中文标题】iOS 上的标准定位服务电池消耗【英文标题】:Standard Location Service battery drain on iOS 【发布时间】:2015-10-09 19:58:58 【问题描述】:我注意到,如果我有一个使用重大位置更改的应用程序,它确实会在 24 小时内消耗大约 30% 的电池电量。我认为 SLC 不应该耗尽电池。
这种行为正常吗?我们在装有 ios 8.3 和 8.4 的 iPhone 6 上科学地进行了测试。我们还尝试了 iPhone 5c(iOS 8.3 和 8.4)。
【问题讨论】:
【参考方案1】:CLLocationManager
上有多个选项,您必须明智地使用它们,否则您会看到意外的电池消耗。
1- 当您调用startMonitoringSignificantLocationChanges
方法时,请确保您尚未调用startUpdatingLocation
,否则请确保在使用显着距离之前使用stopUpdatingLocation
停止它。
2- 自动检查您的暂停设置并允许延迟更新。这些都会对事情产生重大影响。
3-如果您不需要信标、访问或地理围栏,请将其关闭。因为这些会迫使 LM 进入更高的电池消耗模式。
4- 您还应该检查在收到位置更新时执行的逻辑。与单独的位置管理器相比,打开屏幕的通知和可能启动 wifi 和手机服务的网络呼叫将显着增加设备的电池消耗。
您还可以查看 https://LocationKit.io 了解 cocoapod,该产品旨在优化定位服务以实现高精度和低功耗。完全披露我为制作 LocationKit 的公司工作。
【讨论】:
有没有办法每小时消耗少于 1% 的电池?还是底线? 自动暂停并允许延迟更新仅适用于标准位置(不是 SLC)。 我们正在使用科学测试,我们没有在 SLC 回调中做任何事情。我们没有做任何地理围栏。以上是关于iOS 上的标准定位服务电池消耗的主要内容,如果未能解决你的问题,请参考以下文章