Android - LeakCanary 触发 - 静态辅助方法
Android - LeakCanary triggered - static helper method
自己写的小帮手class:
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 一直告诉我 activity 泄漏是因为我在使用它时引用了 ConnectivityManager。
如何处理这种情况?这是误报吗?
自己发现问题:Leak Canary Github issue
可以通过使用应用程序上下文来防止错误:
(ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
自己写的小帮手class:
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 一直告诉我 activity 泄漏是因为我在使用它时引用了 ConnectivityManager。
如何处理这种情况?这是误报吗?
自己发现问题:Leak Canary Github issue
可以通过使用应用程序上下文来防止错误:
(ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);