问题标签 [leakcanary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

android - 这种模式是否会成为泄漏源

拥有一个片段,它有一个侦听器,该侦听器在全局事件管理器中注册,并在片段被销毁时从其中删除。

在事件监听器中,它调用片段的成员函数 foo(),它会进行一些 ui 更新。

所以fragment把listener作为它的成员,listener隐式的持有它的容器类——fragment。并且侦听器暂时由事件管理器持有,直到从中删除。

泄漏金丝雀报告它是泄漏,但 android studio 的设备监视器没有报告它。

看起来这是很常用的模式,是不是泄漏了?如果是这样的情况更好的做法是什么?

0 投票
1 回答
104 浏览

android - Android - LeakCanary 触发 - 静态辅助方法

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

LeakCanary 一直告诉我,当我使用 ConnectivityManager 时,我有一个活动泄漏。

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

0 投票
0 回答
509 浏览

android - 这是我的代码或 AOSP 中的内存泄漏吗?

我是 LeakCanary 工具的新手,并且无法确定此泄漏是由我的代码泄漏还是 Android 本身的泄漏引起的。

我的猜测是这是一个 Android 问题,应该添加到 AndroidExcludedRefs.java 中,但由于我是该工具的新手,所以我想在这个主题上得到一些帮助。

这是泄漏跟踪:

0 投票
1 回答
875 浏览

android - MapView 保持 Context 导致内存泄漏

我正在使用 MapView 版本。10.0.1。我得到一个内存泄漏 MapView 是保存活动上下文。
LeakCanary 跟踪:

0 投票
3 回答
2166 浏览

android - LeakCanary 似乎检测到泄漏,即使该类被排除在外

我对 LeakCanary 的行为感到有些困惑,我希望 SO 可以帮助我。我已将 LeakCanary 添加到我的应用程序中,并且我看到一个声称泄漏的弹出窗口。

这肯定看起来像这里提到的 InputMethodManager:https ://github.com/square/leakcanary/issues/322

看起来 LeakCanary 将其标记为已排除,但仍显示弹出窗口。有什么我不明白的吗?(如果有帮助,我可以包含我的排除代码,但是......)

这是泄漏活动的屏幕截图:

泄漏金丝雀屏幕截图

这是修剪后的 logcat 输出:

0 投票
1 回答
388 浏览

android - 使用 PhoneStateListener 的内存泄漏

我试图在PhoneStateListener来电触发时通知我的应用程序以执行某些操作。我注册我PhoneStateListeneronResume()活动方法如下。

onPause()我的活动方法我使用以下代码删除了侦听器。

我的传入类被定义为同一活动中的内部类,如下所示:

我正在使用 LeakCanary lib 来检查内存泄漏,并且从我的活动中得到 6.1Mb 的内存泄漏。

内存泄漏

sendAbort()是我的活动中执行很少操作的方法。

有人可以指导我如何解决这个问题吗?我在内存管理上苦苦挣扎。

0 投票
2 回答
831 浏览

java - MediaControllerCompat 内存泄漏

我有一个在建立连接MediaControllerCompat时创建的实例MediaSession。完成此连接后,我创建MediaControllerCompat以下方式:

令牌是从 获取的MediaSession

每次按下后退按钮都会检测到泄漏。我没有注册到任何回调/侦听器MediaControllerCompat。我已经尝试MediaController在活动的onDestroy()方法上设置为 null,但没有成功。

按照下面的 LeakCanary 日志。

有谁能够帮我?

提前致谢。

0 投票
2 回答
4296 浏览

android - 我的泄漏工作正常吗?怎么知道?

我相信已经成功安装了 LeakCanary。

我将调试、发布和测试依赖项添加到 build.gradle 文件中。

我将必要的文件添加到我的应用程序类中。根据需要导入。确认应用程序类已正确添加到清单。我的应用程序类是否需要显式调用?

我在模拟器上运行我的应用程序并没有看到任何不同。我监控 Android Monitor 并没有发现任何区别。我怎么知道一切是否正常?我已经分享了我的应用程序类。

}

0 投票
3 回答
2099 浏览

android - ConnectivityManager 泄漏,不知道如何解决

所以,我有这种方法可以让我知道用户是否有活动的互联网连接。它运作良好。但是,leak canary 发现了与connectivityManager 相关的内存泄漏。据我所知,我目前不会在我的代码中的任何地方关闭连接管理器。

我试图关闭 onDestroy 中的连接管理器。要么这不是一个选项,要么我不知道代码。说实话,我只是试图让自动填充告诉我该怎么做。没运气。

0 投票
1 回答
3045 浏览

android - 为什么 LeakCanary 会在活动刚开始后立即报告每个活动的字段泄漏?

例如,我有以下自定义应用程序类的代码(在项目中“激活”LeakCanary)

我有以下活动:

每次在配置更改(屏幕旋转)后活动开始或重新创建时,我都会看到来自 LeakCanary 的“str”泄漏通知

任何想法或解释为什么会发生这种情况?