iPhone GPS - 电池耗尽极快

KB4*_*403 5 iphone gps power-management ios5

我们正在开发一款具有大量GPS使用率的应用,但我们无法优化电池寿命.

即使设备没有移动,根据代码,也不会发生显着的电池排水.

这是代码:

locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = 100;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)

理想情况下,我们希望每20分钟触发一次GPS(如果没有位置更改则节省电量)或者如果有位置变化则每5分钟触发一次GPS.据我的开发人员说,这是不可能做到的

以前我们正在使用kCLLocationAccuracyBest,这是非常快速消耗电池,现在我们正在使用kCLLocationAccuracyHundredMeters.

startUpdatingLocation - 用于获取GPS坐标.还有一个叫做startMonitoringSignificantLocationChanges的调用,它可以获得AGPS坐标,我认为每当细胞塔改变时它就会返回坐标,因此消耗的电池非常快.

distanceFilter - 设备在生成更新事件之前必须横向移动的最小距离(以米为单位).在距离过滤器的基础上,我们从设备获得GPS定位,然后我们将更新的GPS坐标发送到服务器.

非常 感谢任何帮助谢谢!

sam*_*tte -1

理想情况下,我们希望每 20 分钟触发一次 GPS(如果没有位置变化,则可以节省电池),或者如果位置发生变化,则每 5 分钟触发一次。据我的开发人员说这是不可能的

这可以使用 NSTimer 来完成,该 NSTimer 每 20 分钟调用一个startLocating(创建 CLLocationManager 并调用startLocating它的自定义方法)方法。确保stopLocating在找到具有您喜欢的准确性的 CLLocation 后调用 CLLocationManager。

然而,这样做意味着您可能会在 20 分钟内使用完全关闭的位置。这取决于您计划如何使用该位置以及它需要多精确,但也许您的开发人员所说的“不可能”意味着您的应用程序始终需要用户的实际位置。