Как я могу исправить Mapbox - ANR - Broadcast of Intent? - PullRequest
0 голосов
/ 14 июня 2019

Я использую навигацию Mapbox в своем приложении, что-то вроде Uber, я начинаю поездку и начинаю навигацию до некоторой точки.Все работает нормально, за исключением некоторой точки навигации, мое приложение зависает, и я получаю предупреждение, что мое приложение не отвечает.

Вот моя зависимость

implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.40.0' И мой класскоторый получает LocationEngineResult

``

открытый класс LocationCallback реализует LocationEngineCallback {

private final WeakReference<NavigationFragment> activityWeakReference;
private Location prelocation;

public LocationCallback(NavigationFragment navigationFragment) {
    this.activityWeakReference = new WeakReference<NavigationFragment>(navigationFragment);
}

@Override
public void onSuccess(LocationEngineResult result) {
    Log.e("Tag", "NavigationFragment locationEngineResult");
    NavigationFragment context = activityWeakReference.get();
    if (context != null) {
        Location location = result.getLastLocation();
        Log.d("Tag", "Result location: " + location.toString());
        if (location == null) {
            return;
        }

        if(prelocation == null){
            context.checkFirstUpdate(location);
            context.onLocationChanged(location);
            prelocation = location;
        }
        else{
            if(AppHelper.distance(prelocation.getLatitude(), prelocation.getLongitude(), location.getLatitude(), location.getLongitude()) > 0){
                context.checkFirstUpdate(location);
                context.onLocationChanged(location);
                prelocation = location;
            }
        }
    }
}

@Override
public void onFailure(@NonNull Exception exception) {
    Log.d("Tag", "On failure exception" + exception.getMessage());
    Timber.e(exception);
}

} ``

Я занимаюсь этим несколькодней и я предполагаю, что мой обратный вызов LocationEngine перестает получать результат моего местоположения.Вот мой Logcat: PID: 18359 Reason: Broadcast of Intent { act=com.mapbox.android.telemetry.location.locationupdatespendingintent.action.LOCATION_UPDATED flg=0x10 launchParam=MultiScreenLaunchParams { mDisplayId=0 mFlags=0 } (has extras) } Load: 2.85 / 4.21 / 4.5 CPU usage from 901ms to -4460ms ago (2019-06-14 17:13:07.541 to 2019-06-14 17:13:12.902): 24% 3658/system_server: 13% user + 10% kernel / faults: 7699 minor 6681 major

Пожалуйста, любое предложение может помочь.Я могу предоставить больше кода.Спасибо!

...