Я использую следующий код для запроса обновлений местоположения. Обновления местоположения запрашиваются в отдельном потоке обработчика, но все же он влияет на основной поток. Кто-нибудь может предложить решение.Использование обновлений местоположения влияет на основной поток
private LocationListener mLocationListener = new LocationListener() {
public void onLocationChanged(Location location) {
mLongitude = location.getLongitude();
mLatitude = location.getLatitude();
mBearing = location.getBearing();
}
}
mLocationManager = (LocationManager)
this.getSystemService(Context.LOCATION_SERVICE);
HandlerThread handlerThread = new HandlerThread("HandlerThread");
handlerThread.start();
Looper looper = handlerThread.getLooper();
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
UPDATE_LOCATION_INTERVAL,
UPDATE_LOCATION_MINIMUM_DISTANCE,
mLocationListener, looper);
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
UPDATE_LOCATION_INTERVAL,
UPDATE_LOCATION_MINIMUM_DISTANCE,
mLocationListener, looper);
Откуда вы знаете, что это влияет на основную тему? – Eenvincible
Я использую основной поток для получения видео по сети, он получает влияние. Он отлично работает при отключении обновлений местоположения, но начинает сбой с обновлениями местоположения. – goldenptr
«Я использую основной поток для получения видео по сети» - это плохо само по себе. Не выполняйте сетевой ввод-вывод в основном потоке приложения. Вы должны сбиваться с «NetworkOnMainThreadException». – CommonsWare