android - 如何修复 InputManagerImpl 中的内存泄漏

标签 android memory-leaks leakcanary

我安装了 LeakCanary 来修复我的应用程序中的一些内存泄漏。其中一些我设法修复了,但我对某个特定的想法用完了,泄漏了 Activity 上下文。 我完全不知道 RecyclerView.mContext 是如何被 InputMethodManager 引用的。欢迎任何提示!

LeakCanary trace

最佳答案

主要是当我们在该 Activity 中与 FragmentStatePagerAdapter 关联的 fragment 中使用 RecyclerView 时会出现此问题,TreeObserver 或与正在使用的 InputMethodManager 相关的东西。

即使在调用该主要 Activity 的 onDestroy() 之后,应用程序仍保留该 Activity 的引用,因为它由 InputMethodManager 间接引用。

所以,我们无法修复它,因为它是由于 Android 源代码中的错误

看看这篇文章

Android Memory Leaks InputMethodManager Solved

希望对你有帮助

关于android - 如何修复 InputManagerImpl 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48542712/

相关文章:

java - 此处理程序类应该是静态的,否则可能会发生泄漏 : final Handler

android - 更改太多布局的可见性可能会导致性能问题吗?

java - 将 GLSurfaceView 的屏幕捕获到位图

android - 从图像映射中抓取图像

java - keycloak spring boot starter 内存泄漏

iphone - 多次保存大型 nsstring 文件会使应用程序崩溃

android - 尽管在 onDestroyView 中将父 View 设置为 null,但 fragment View 内存泄漏

android - 从 onPause 中的 fragment 中删除位置更新时发生内存泄漏

java - listView setAdapter空指针异常?

java - 获取 ListView ID名称