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