【发布时间】:2012-01-31 03:45:00
【问题描述】:
我们正在开发一个使用大量 GPS 的应用,我们无法优化电池寿命。
即使设备没有移动,也不会发生严重的电池消耗,根据代码,这种情况不应该发生。
代码如下:
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = 100;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
理想情况下,我们希望每 20 分钟触发一次 GPS(如果没有位置变化,则节省电池)或每 5 分钟触发一次位置变化。根据我的开发人员的说法,这是无法做到的
以前我们使用的是kCLLocationAccuracyBest,它消耗电池非常快,现在我们使用的是kCLLocationAccuracyHundredMeters。
startUpdatingLocation - 是获取 GPS 坐标。还有另一个调用 startMonitoringSignificantLocationChanges 来获取 AGPS 坐标,我相信只要蜂窝塔发生变化就会返回坐标,因此会非常快地消耗电池。
distanceFilter - 设备在生成更新事件之前必须横向移动的最小距离(以米为单位)。根据距离过滤器,我们从设备获取 GPS 定位,然后将更新后的 GPS 坐标发送到服务器。
我们将不胜感激任何帮助 谢谢!
【问题讨论】:
-
无论您做什么,长时间运行传感器,尤其是 gps,都会耗尽电池电量。如果你想延长寿命,那就降低你的采样频率。
-
嗨 Maverick3,我们想每 20 分钟检查一次 GPS 位置以节省 GPS 电池。有没有办法实现这个?根据我的开发人员的说法,我们不能这样做。我会很感激任何提示。
-
我建议使用 StartLocating 和 StopLocating 与计时器,然后进行分析以查看功耗如何变化。如果可以访问 Internet,另一种选择是使用位置提供商服务。但这不太准确。
-
如果你用iPhone5S,那没关系,因为iPhone5S上的M7芯片处理很多
标签: iphone ios5 gps power-management