CLLocationmanager:保存电池

我的新“正在进行的应用程序”使用CLLocationManager的一个实例出于多种目的。 为了使应用程序尽可能电池友好,位置服务应该只在需要时激活,并在数据刷新完成后立即停用。 对于我的目的来说,仅仅在10秒钟内只能获取一次位置数据就足够了。 (还没有确定确切的区间长度)。

我的问题是,这是“closures定位服务”最省电的方法? 仅使用“stopUpdatingLocation”方法并将CLLocationManager自己保存在内存中就足够了,还是需要释放整个实例,并在下一次刷新之前分配一个新实例?

我同意其他答案stopUpdatingLocation结合distanceFilterdesiredAccuracy是要走的路。 请注意,当所需的精度在千米的范围内时,位置pipe理员可能甚至不需要启动GPS。

同样,取决于你使用它的地方,看看区域监控和重要的位置更新,因为这些更加电池友好。

相关: 位置感知编程指南 – 节省电池电量的技巧

是。 调用stopUpdatingLocation就足够了。

更好的方法是为distanceFilterdesiredAccuracy设置好的值。 10秒是没有足够的时间来热身的GPS。

CLLocationManager

设置适当的distanceFilterdesiredAccuracy可能是对你的电池寿命影响最大的两个因素。

然而

要真正了解什么是电池最友好的,您应该使用仪器并测量设备上的电池电量。 有一个内置的工具。