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 上的标准定位服务电池消耗的主要内容,如果未能解决你的问题,请参考以下文章

使用 http 时的 Android 电池

使用定位服务时 iPhone 耗电

减少 iOS 后台位置电池使用量

iOS GPS 电池耗电,如何减少耗电?

在 iOS 中检查我的应用的电池消耗

是否可以在ios中找到应用程序的电池消耗?