Android 在特定时间间隔内,可变长度GPS问题(周期性GPS问题)的原因是什么?

Android 在特定时间间隔内,可变长度GPS问题(周期性GPS问题)的原因是什么?,android,gps,locationlistener,Android,Gps,Locationlistener,我开发了一个每天运行的工业地理跟踪应用程序。它长时间使用GPS,需要精确(仅限GPS)和频繁(约每5秒)更新 尽管该应用程序在多个相同的硬件型号(三星Tab2)上运行,但某些设备不会报告长度可变(2分钟到1小时)的位置更新。(奇怪的是,这段“停电”时间通常发生在格林威治标准时间15:00-19:00+2左右)。而且,这种情况往往只发生在设备的一个子集上,这表明存在硬件问题 另一种可能是我的processLocation方法(称为inside LocationListener.onLocation

我开发了一个每天运行的工业地理跟踪应用程序。它长时间使用GPS,需要精确(仅限GPS)和频繁(约每5秒)更新

尽管该应用程序在多个相同的硬件型号(三星Tab2)上运行,但某些设备不会报告长度可变(2分钟到1小时)的位置更新。(奇怪的是,这段“停电”时间通常发生在格林威治标准时间15:00-19:00+2左右)。而且,这种情况往往只发生在设备的一个子集上,这表明存在硬件问题

另一种可能是我的processLocation方法(称为inside LocationListener.onLocationChanged)花费的时间太长,并且卡住了(?)。(当然,这并不能解释为什么问题在某一段时间内特定于一部分设备。)

这是该代码的复制品:

mLocationListener = new LocationListener() {
 public void onLocationChanged(Location location) {
  if (location.getProvider().equals("gps") && location.getAccuracy() < accuracyThresh) {
   processLocation(location, time);
  } else {
   discardLocation(location, time);
  } 
 }
 public void onProviderDisabled(String provider) {
 }
 public void onProviderEnabled(String provider) {
 }
};
mLocationListener=newlocationlistener(){
已更改位置上的公共无效(位置){
if(location.getProvider().equals(“gps”)和&location.getAccuracy()
经过一段停电时间后,问题似乎自行解决了

这可能是相关的(),尽管这里没有关于这个问题出现时间的系统性描述

在这种情况下,我很难确定这是否是由代码中的错误引起的


我想知道是否有人有过类似的经历,或者可以为我指出正确的方向。对调试有什么建议吗?非常感谢

有几个因素会影响GPS精度。在查找代码中的bug之前,我建议检查以下信息:


所有设备都在同一个位置?或者你能看到没有正确报告的设备的位置之间的模式吗?是的,所有设备都在同一个城市,但在这些“停电”期间没有地理模式。谢谢朱利安的链接。尽管其中描述的问题可能会影响我们的设备,但他们没有解释为什么这个问题似乎出现在设备子集中,而与它们的实际位置没有任何特定的相关性。