CLLocationManager distanceFilter属性是否做任何事情来节省在所需距离下发出请求之间的电池生命周期/电量消耗。我不认为这样做,但是我只是想检查一下我是否仍然应该调用stopUpdatingLocation而不只是让它运行。
我在这里找到一个答案,建议该电话拨下其轮询(直到达到所需的距离),从而节省了电量。但是,另一方面,这似乎暗示着即使检查所需距离也需要使天线处于事件状态,因此节省了很少的功率。
当前,当我需要位置详细信息时,我会明确地执行startUpdatingLocation,在将stopUpdatingLocation消息发送到CLLocationManager之前检查合适的位置。
最佳答案
没有直接记录(在distanceFilter
属性上)表明存在这种情况。如果您关心电池生命周期并为用户提供体面的体验,则绝对应该调用stopUpdatingLocation
。以我自己开发应用程序的经验,当为distanceFilter
使用较大的值时,我从未见过电池生命周期的任何改善-也许如果它能做任何事情,那么 yield 实在是太小了而无法察觉。
我相信distanceFilter
的目的不是为了节省功耗,而是允许您控制您的应用程序不需要恒定位置数据流时获得的回调次数。
就是说,我怀疑它确实涉及到电源需求。当然,其相关属性distanceAccuracy
对电源管理有一定的影响-根据Apple文档:
因此,我个人会怀疑distanceFilter
和distanceAccuracy
都以某种方式影响功率。问题(我想对您来说)是,可测量的效果会因设备而异,并且可能因操作系统版本而异。因此,很难以任何有意义的方式进行量化。
关于iphone - CLLocationManager distanceFilter是否可以做任何节省功率的事情?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5490707/