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 分钟内使用完全关闭的位置。这取决于您计划如何使用该位置以及它需要多精确,但也许您的开发人员所说的“不可能”意味着您的应用程序始终需要用户的实际位置。
| 归档时间: |
|
| 查看次数: |
3744 次 |
| 最近记录: |