我尝试了一个关闭GPS模块的Android设备。我驾驶的是一辆车,水平精度是 50-300m ,这对我来说是准确的。 (三角测量+ wi-fi)
我正在尝试构建一个使用尽可能少的电池的iPhone应用程序(应用程序将在洞日)。
这就是为什么我不想使用GPS。百米精度会使用GPS还是三角测量?
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
我也想知道distanceFilter对电池消耗有多重要?如果设置为300m
或1000m
,会有很大差异吗?
答案 0 :(得分:1)
我正在尝试构建一个使用尽可能少的电池的iPhone应用程序(应用程序将在[整天])。
然后,如果可能的话,您应该充分利用Significant-Change Location Service,因为这是在您的应用程序中获取长期位置数据的最省电的方法。这也是在应用程序处于后台时将位置更新引入应用程序的最有效方法(在Android上您可能认为这是理所当然的。)
同样来自iOS Core Location文档:
使用较低分辨率的值来获得所需的精度,除非这样做会损害您的应用。 ...请记住,指定kCLLocationAccuracyThreeKilometers的值不会阻止位置服务返回更好的数据。大多数情况下,核心位置可以使用Wi-FI和蜂窝信号以大约一百米左右的精度返回位置数据。
可能基于此情况,常数kCLLocationAccuracyHundredMeters
通常不需要打开GPS,但如果停用,您可能会将要求的准确度降低到确保 GPS,并且iOS可能仍会向您提供在您喜欢的范围内准确的数据。
我也想知道distanceFilter对电池消耗的重要程度是多少?
此过滤器更多地涉及更新实际发送到您的应用的频率,准确性更多地涉及获得修复所需的硬件。滤波器将减少无线电开启的频率,但是当涉及GPS时,这是一个更大的省电工具。但是,如果您使用的是重大变更服务,则问题的这一部分无关紧要。