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);