【问题标题】:Standard Location Service battery drain on iOSiOS 上的标准定位服务电池消耗
【发布时间】: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


    【解决方案1】:

    CLLocationManager 上有多个选项,您必须明智地使用它们,否则您会看到意外的电池消耗。

    1- 当您调用startMonitoringSignificantLocationChanges 方法时,请确保您尚未调用startUpdatingLocation,否则请确保在使用显着距离之前使用stopUpdatingLocation 停止它。

    2- 自动检查您的暂停设置并允许延迟更新。这些都会对事情产生重大影响。

    3-如果您不需要信标、访问或地理围栏,请将其关闭。因为这些会迫使 LM 进入更高的电池消耗模式。

    4- 您还应该检查在收到位置更新时执行的逻辑。与单独的位置管理器相比,打开屏幕的通知和可能启动 wifi 和手机服务的网络呼叫将显着增加设备的电池消耗。

    您还可以查看 https://LocationKit.io 了解 cocoapod,该产品旨在优化定位服务以实现高精度和低功耗。完全披露我为制作 LocationKit 的公司工作。

    【讨论】:

    • 有没有办法每小时消耗少于 1% 的电池?还是底线?
    • 自动暂停并允许延迟更新仅适用于标准位置(不是 SLC)。
    • 我们正在使用科学测试,我们没有在 SLC 回调中做任何事情。我们没有做任何地理围栏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 2012-11-30
    相关资源
    最近更新 更多