android - ConnectivityManager 泄漏,不确定如何解决

标签 android memory-leaks connectivity leakcanary

所以,我有这个方法可以让我知道用户是否有 Activity 的互联网连接。它运作良好。但是,leak canary 已识别出与 connectivityManager 相关的内存泄漏。据我所知,我目前不会在我的代码中的任何地方关闭 connectivityManager。

我试图在 onDestroy 中关闭 connectivityManager。要么这不是一个选项,要么我不知道密码。说实话,我只是想让自动填充告诉我该怎么做。运气不好。

public static boolean isNetworkAvailable(Context context) {
    ConnectivityManager connectivityManager =(ConnectivityManager)  context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo =connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo !=null && activeNetworkInfo.isConnected();
}

最佳答案

用它来防止泄漏,

ConnectivityManager connectivityManager = (ConnectivityManager) context.getApplicationContext()
                .getSystemService(Context.CONNECTIVITY_SERVICE);

关于android - ConnectivityManager 泄漏,不确定如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41431409/

相关文章:

sql-server - 重新启动后无法远程或本地连接到 SQL Server

android - ConnectivityManager getActiveNetworkInfo() 始终为空,即使数据流量处于 Activity 状态也是如此

java - 库 com.google.android.gms :play-services-basement is being requested by various other libraries at [[15. 0.1,15.0.1]],但解析为 16.1.0

android - 如何在 Android 应用程序中嵌入自定义街景?

C 如何释放多维动态结构中的动态字符串?

iphone - NSFetchRequest版本导致应用程序崩溃

java - 在 ScrollView 周围放置黑线边框 - Android

android - 我如何检查该项目是否在 arrayList 上?

c - 释放C中结构的内存

android - Broadcastreceiver获取ServiceState信息