0

我给自己写了一个小助手类:

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 时,我有一个活动泄漏。

如何处理这种情况?这是误报吗?

4

1 回答 1

0

自己发现了问题:Leak Canary Github issue
可以通过使用应用上下文来防止错误:

(ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
于 2016-12-05T22:49:33.973 回答