Android 为什么查找设备位置需要10-15秒以上?

Android 为什么查找设备位置需要10-15秒以上?,android,gps,android-gps,Android,Gps,Android Gps,我已经实现了LocationManager,我已经在位置更改上设置了一个侦听器,但是当我需要位置时,需要10-15秒以上的时间才能给出(第一个)位置 我在不同的终端上试过,但用的时间差不多相同 private void gestionGPS(){ if(ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS\u FINE\u LOCATION)!=PackageManager.permission\u已授予和&Acti

我已经实现了
LocationManager
,我已经在位置更改上设置了一个
侦听器
,但是当我需要位置时,需要10-15秒以上的时间才能给出(第一个)位置

我在不同的终端上试过,但用的时间差不多相同

private void gestionGPS(){
if(ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS\u FINE\u LOCATION)!=PackageManager.permission\u已授予和&ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS\u LOCATION)!=PackageManager.permission\u已授予){
ActivityCompat.requestPermissions(这个新字符串[]{Manifest.permission.ACCESS\u FINE\u LOCATION},1);
返回;
}
locationManager=(locationManager)getSystemService(Context.LOCATION\u服务);
标准=新标准();
标准.设定准确度(标准.准确度/精细度);
标准。setAltitudeRequired(false);
标准。需要设置(假);
条件.setCostAllowed(true);
标准。设置功率要求(标准。功率高);
String fourniseur=locationManager.getBestProvider(条件为true);
日志d(“GPS wola”、“Fourniser”+Fourniser);
locationManager.RequestLocationUpdate(locationManager.GPS_提供程序,0,0,myLocationListener);
}
私有最终位置Listener myLocationListener=新位置Listener(){
已更改位置上的公共无效(位置){
//瓦勒尔酒杯
纬度=位置。getLatitude();
longitude=location.getLongitude();
//手势附加语
setText(String.valueOf(latitude));
setText(String.valueOf(longitude));
//论双门轿跑车
locationManager.RemoveUpdate(此);
locationManager=null;
}
}
我想知道这是否是硬件限制?
我想知道谷歌定位服务是否更快,因为我使用的是实习服务。
他们有什么把戏让“感觉”更快吗?

更新

我在一个旧的安卓系统(安卓4.2)上尝试了同样的代码,看起来速度更快,但我想这是因为我认为这个位置是在房子里


设备硬件是影响速度的一个因素。有时,如果您在建筑物内,检索位置可能需要更多时间。但通常10-15秒太长,无法检索位置。这是代码的错误吗?请尝试使用谷歌定位服务,比较时间之间的差异,我将测试感谢!我认为第一次GPS定位15秒一点也不奇怪。设备硬件是影响速度的一个因素。有时,如果您在建筑物内,检索位置可能需要更多时间。但通常10-15秒太长,无法检索位置。这是代码的错误吗?请尝试使用谷歌定位服务,比较时间之间的差异,我将测试感谢!我不认为第一次GPS定位需要15秒是很奇怪的。