我的新的“应用程序正在进行中”使用CLLocationManager的实例用于多种用途。 为了使应用程序为电池尽可能友好,位置服务应仅在需要时启动,而当数据刷新完成后立即停用。 对于我的目的,这是完全足以在10秒内只有一次获取位置数据。 (还没有决定确切的间隔长度)。
我的问题是,这是“关闭位置服务”的大多数电池有效的方法? 它是足够的,只是用“stopUpdatingLocation”的方法,并保持CLLocationManager自己的记忆,还是我需要解除整个实例,并分配下一个刷新前一个新的?
我同意其他的答案是stopUpdatingLocation
与组合distanceFilter
和desiredAccuracy
是要走的路。 请注意,当所需的精度是以千米的范围内,外景经理甚至可能没有火起来的GPS。
同样,这取决于你用它来做什么,看看区域的监测和显著位置更新,因为这些都比较省电的。
相关阅读: 位置感知编程指南-提示为节约电池电量
是。 调用stopUpdatingLocation
就足够了。
更好的办法是为设置好的价值观distanceFilter
和desiredAccuracy
。 10secs没有足够的时间来热身的GPS。
CLLocationManager
设置适当的distanceFilter
和desiredAccuracy
有可能是对你的电池寿命影响最大的两个因素。
然而
要真正知道什么是最省电的,你应该使用仪器和测量设备上的电池消耗。 有是一个内置的工具。