首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLLocationmanager:节省电池

CLLocationmanager:节省电池
EN

Stack Overflow用户
提问于 2012-05-06 19:05:27
回答 3查看 3.8K关注 0票数 5

我的新“正在开发中的应用程序”将CLLocationManager的一个实例用于几个目的。为了让应用程序尽可能地对电池友好,定位服务应该只在需要时激活,并在数据刷新完成时立即停用。对于我来说,只需在10秒内获取一次位置数据就足够了。(尚未确定确切的间隔长度)。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-06 19:25:55

我同意其他答案,即stopUpdatingLocationdistanceFilterdesiredAccuracy相结合是可行的。请注意,当期望的精度在千米范围内时,位置管理器甚至可能不必启动GPS。

同样,根据你使用它的用途,可以查看区域监控和重要的位置更新,因为这些更友好。

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

票数 6
EN

Stack Overflow用户

发布于 2012-05-06 19:07:42

是。调用stopUpdatingLocation就足够了。

更好的方法是为distanceFilterdesiredAccuracy设置好的值。10秒的时间不足以预热gps。

CLLocationManager

票数 2
EN

Stack Overflow用户

发布于 2012-05-06 19:09:15

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

然而,

要真正了解什么是最省电的,您应该使用Instruments并测量设备上的电池消耗。有一个内置的工具可以做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10470036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档