如果 CoreLocation 必须不断检索用户的位置,节省电池的提示?
Posted
技术标签:
【中文标题】如果 CoreLocation 必须不断检索用户的位置,节省电池的提示?【英文标题】:Tips for conserving battery if CoreLocation must constantly retrieve the user's location? 【发布时间】:2012-11-24 03:47:06 【问题描述】:应用程序将选择一个随机的纬度和经度来创建一个用户必须找到的点。
用户与该点的距离将使用“冷热仪表”显示,该仪表会根据距离改变颜色。该仪表必须不断更新,这需要我不断检索用户的位置。我还需要使用kCLLocationAccuracyBest
。但是,这听起来会消耗大量电池。
我可以做些什么来节省电池吗?
【问题讨论】:
应用程序必须一直运行吗? 不,只有在用户玩游戏时才会开启,每场游戏大约需要 3 - 5 分钟。 你测试过它使用多少电池吗? 还没有;在编码之前,我仍在等待看看这是否是一个可行的想法 如果游戏只运行 3-5 分钟,那么电池使用根本不是问题。我可以在 GPS 高精度、指南针和屏幕打开的情况下运行一个小时的导航应用程序,并且只使用大约 5-10% 的电池电量。 【参考方案1】:来自官方文档
收集位置数据是一项耗电量大的操作。它涉及启动车载无线电并查询可用的手机信号塔、Wi-Fi 热点或 GPS 卫星,这可能需要几秒钟的时间。让标准定位服务长时间运行会耗尽设备的电池电量。 (显着变化的定位服务通过仅监控蜂窝塔的变化来极大地减少电池消耗,但该服务仅适用于具有蜂窝无线电的设备。)对于大多数应用程序而言,建立初始定位然后仅定期获取更新通常就足够了之后。如果您确定需要定期更新位置,则应尽可能使用重大变化位置服务;否则,您应该配置标准定位服务的参数,使其对电池寿命的影响降至最低。
http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html
PS:在同一个链接上,页面底部还有一个部分还有其他提示:)
【讨论】:
我已经阅读了提示。考虑到应用程序需要做什么,它们都不可用:我无法关闭位置服务,因为我在 3-5 分钟内经常需要它们,而且我不能使用显着变化的位置,因为它不够准确 所以你无能为力。【参考方案2】:我的 iphone 应用程序在 iphone4 上每秒钟运行 8 小时的记录修复。显示器需要更多功率。不用担心。测量您可以录制多长时间。然后索赔,而不是之前。
【讨论】:
以上是关于如果 CoreLocation 必须不断检索用户的位置,节省电池的提示?的主要内容,如果未能解决你的问题,请参考以下文章