问题标签 [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.
android - 这种模式是否会成为泄漏源
拥有一个片段,它有一个侦听器,该侦听器在全局事件管理器中注册,并在片段被销毁时从其中删除。
在事件监听器中,它调用片段的成员函数 foo(),它会进行一些 ui 更新。
所以fragment把listener作为它的成员,listener隐式的持有它的容器类——fragment。并且侦听器暂时由事件管理器持有,直到从中删除。
泄漏金丝雀报告它是泄漏,但 android studio 的设备监视器没有报告它。
看起来这是很常用的模式,是不是泄漏了?如果是这样的情况更好的做法是什么?
android - Android - LeakCanary 触发 - 静态辅助方法
我给自己写了一个小助手类:
LeakCanary 一直告诉我,当我使用 ConnectivityManager 时,我有一个活动泄漏。
如何处理这种情况?这是误报吗?
android - 这是我的代码或 AOSP 中的内存泄漏吗?
我是 LeakCanary 工具的新手,并且无法确定此泄漏是由我的代码泄漏还是 Android 本身的泄漏引起的。
我的猜测是这是一个 Android 问题,应该添加到 AndroidExcludedRefs.java 中,但由于我是该工具的新手,所以我想在这个主题上得到一些帮助。
这是泄漏跟踪:
android - MapView 保持 Context 导致内存泄漏
我正在使用 MapView 版本。10.0.1。我得到一个内存泄漏 MapView 是保存活动上下文。
LeakCanary 跟踪:
android - LeakCanary 似乎检测到泄漏,即使该类被排除在外
我对 LeakCanary 的行为感到有些困惑,我希望 SO 可以帮助我。我已将 LeakCanary 添加到我的应用程序中,并且我看到一个声称泄漏的弹出窗口。
这肯定看起来像这里提到的 InputMethodManager:https ://github.com/square/leakcanary/issues/322
看起来 LeakCanary 将其标记为已排除,但仍显示弹出窗口。有什么我不明白的吗?(如果有帮助,我可以包含我的排除代码,但是......)
这是泄漏活动的屏幕截图:
这是修剪后的 logcat 输出:
android - 使用 PhoneStateListener 的内存泄漏
我试图在PhoneStateListener
来电触发时通知我的应用程序以执行某些操作。我注册我PhoneStateListener
的onResume()
活动方法如下。
onPause()
我的活动方法我使用以下代码删除了侦听器。
我的传入类被定义为同一活动中的内部类,如下所示:
我正在使用 LeakCanary lib 来检查内存泄漏,并且从我的活动中得到 6.1Mb 的内存泄漏。
sendAbort()
是我的活动中执行很少操作的方法。
有人可以指导我如何解决这个问题吗?我在内存管理上苦苦挣扎。
java - MediaControllerCompat 内存泄漏
我有一个在建立连接MediaControllerCompat
时创建的实例MediaSession
。完成此连接后,我创建MediaControllerCompat
以下方式:
令牌是从 获取的MediaSession
。
每次按下后退按钮都会检测到泄漏。我没有注册到任何回调/侦听器MediaControllerCompat
。我已经尝试MediaController
在活动的onDestroy()
方法上设置为 null,但没有成功。
按照下面的 LeakCanary 日志。
有谁能够帮我?
提前致谢。
android - 我的泄漏工作正常吗?怎么知道?
我相信已经成功安装了 LeakCanary。
我将调试、发布和测试依赖项添加到 build.gradle 文件中。
我将必要的文件添加到我的应用程序类中。根据需要导入。确认应用程序类已正确添加到清单。我的应用程序类是否需要显式调用?
我在模拟器上运行我的应用程序并没有看到任何不同。我监控 Android Monitor 并没有发现任何区别。我怎么知道一切是否正常?我已经分享了我的应用程序类。
}
android - ConnectivityManager 泄漏,不知道如何解决
所以,我有这种方法可以让我知道用户是否有活动的互联网连接。它运作良好。但是,leak canary 发现了与connectivityManager 相关的内存泄漏。据我所知,我目前不会在我的代码中的任何地方关闭连接管理器。
我试图关闭 onDestroy 中的连接管理器。要么这不是一个选项,要么我不知道代码。说实话,我只是试图让自动填充告诉我该怎么做。没运气。
android - 为什么 LeakCanary 会在活动刚开始后立即报告每个活动的字段泄漏?
例如,我有以下自定义应用程序类的代码(在项目中“激活”LeakCanary)
我有以下活动:
每次在配置更改(屏幕旋转)后活动开始或重新创建时,我都会看到来自 LeakCanary 的“str”泄漏通知
任何想法或解释为什么会发生这种情况?