CLLocationmanager:节省电池

时间:2012-05-06 11:05:27

标签: iphone ios cocoa-touch

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

我的问题是,“关闭位置服务”的电池效率最高的方法是什么?仅使用“stopUpdatingLocation”方法并将CLLocationManager本身保留在内存中是否足够,或者我是否需要释放整个实例,并在下次刷新之前分配一个新实例?

3 个答案:

答案 0 :(得分:6)

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

同样,根据您使用的内容,查看区域监控和重要位置更新,因为它们更适合电池使用。

相关:Location Awareness Programming Guide - Tips for Conserving Battery Power

答案 1 :(得分:2)

是。拨打stopUpdatingLocation即可。

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

CLLocationManager

答案 2 :(得分:1)

设置适当的distanceFilterdesiredAccuracy可能是影响您电池续航时间的两个因素。

然而

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