android - LeakCanary 报告 InputMethodManager 中的泄漏

标签 android leakcanary

我正试图找出我的应用程序中的泄漏,但我不确定这是从哪里来的。

LeakCanary 告诉我可以忽略它。是吗?

01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * LEAK CAN BE IGNORED.
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * com.mypackage.ui.map.MapComponentFragment has leaked:
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * GC ROOT android.view.inputmethod.InputMethodManager$1.this$0 (anonymous class extends com.android.internal.view.IInputMethodClient$Stub)
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references android.view.inputmethod.InputMethodManager.mCurRootView
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references com.android.internal.policy.impl.PhoneWindow$DecorView.mContext
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references com.mypackage.ui.MainActivity.mFragments
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references android.app.FragmentManagerImpl.mAdded
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references java.util.ArrayList.array
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * references array java.lang.Object[].[0]
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * leaks com.mypackage.ui.map.MapComponentFragment instance
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * Reference Key: 0790f013-1c87-4d5f-8c10-db277187e3ce
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * Device: samsung samsung SM-N910C treltexx
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * Android Version: 5.1.1 API: 22 LeakCanary: 1.4-SNAPSHOT 2714152
01-06 12:04:56.580 6935-9159/com.mypackage D/LeakCanary: * Durations: watch=5085ms, gc=149ms, heap dump=2562ms, analysis=10313ms

这个 fragment 造成了一些漏洞,但我修复了它们。这个我不能让它消失。

有什么线索吗?

编辑

还有一件事,如果我想忽略它,这应该就足够了吗?

.instanceField("android.view.inputmethod.InputMethodManager", "mCurRootView")

但仍然出现在 LeakCanary

显然此泄漏在 AndroidExcludeRef 中,但仍在报告中。 https://github.com/square/leakcanary/issues/322

最佳答案

是的,您可以忽略此泄漏。

例如检查这个问题:https://github.com/square/leakcanary/issues/256

关于android - LeakCanary 报告 InputMethodManager 中的泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34631818/

相关文章:

java - 继续在 monodroid 应用程序中获取 Java.IO.FileNotFoundException 异常

android - SearchView 结果列表宽度

android - FragmentManager(v4) 不从 mCreatedMenus 中删除 fragment

Android ViewRootImpl 上下文泄漏问题

android - Android 的 Wakelock 是后台服务的必需品吗?

java - 自动化 Android 构建过程

java - 为什么我的 Android SDK 源码不完整?

android - LeakCanary 如何仅通过添加依赖项来安装和准备就绪?

android studio - 如何制作两个自定义应用程序类