Android - запущен LeakCanary - метод статического помощника

Я написал себе маленький вспомогательный класс:

public enum NetworkUtils {
    ;

    public static boolean hasNetworkConnection(Context context) {
        ConnectivityManager manager = getConnectivityManager(context);
        return manager != null
                && manager.getActiveNetworkInfo() != null
                && manager.getActiveNetworkInfo().isConnectedOrConnecting();
    }

    private static ConnectivityManager getConnectivityManager(Context context) {
        return (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    }
}

LeakCanary постоянно говорит мне, что у меня есть утечка активности из-за ссылки на ConnectivityManager, когда я использую это.

Как справиться с этой ситуацией? Это ложный положительный результат?

1 ответ

Решение

Нашел проблему сам: утечка Canary Github проблема
Эту ошибку можно предотвратить, используя контекст приложения:

(ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
Другие вопросы по тегам