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