我已阅读this informative page了!并认为它提供了必要的背景。
我希望在地点服务上节省一些电力,但又不想放弃太多数据(即从GPS广播的坐标)。
requestLocationUpdates允许使用minTime参数,该参数在其函数中显而易见。但是,minDistance是一个令人困惑的参数。对我来说,似乎该设备正在接收NMEA流,将流解析为可行的双精度数,存储一些数字,并计算与先前读数的距离...全部在后台。那么,minDistance如何真正节省任何力量呢?
此外,调试信息(见上面的链接)表明正在向听众广播一段距离,但为什么我无法使用?我还没有试过理解为什么Location.distanceBetween(某些点)对我不起作用,而且我更喜欢自己的计算,但可能选择使用设备广播的值(如果有的话)。
感谢您的任何见解,因为我试图在节省能力方面找到一个最佳点,而在我的路径上保存精确度(双关语)。
答案 0 :(得分:0)
minDistance通过不调用您的应用来节省电量。可以说,从卫星处理数据需要10个单位的功率。假设您的应用每次向其发送新位置时需要1个单位的电量。因此,如果您的最小距离为0,则整个过程需要11个单位。如果你有一个足够大的最小距离,你就不会被调用,它只需要10个。它可以节省很少但非零,可以随着时间的推移而增加。
至于distanceBetween-就我所知,它完美地运作。如果你使用自己的计算你可能错了 - 你是否考虑到2条经度线之间的距离是纬度的函数而不是常数?可能不是。