【发布时间】:2013-08-23 06:30:58
【问题描述】:
很多人注意到活动中的 EditText 持有对活动的强引用,即使它完成后也是如此。要清楚,此 EditText 位于布局内并膨胀,没有设置 Listeners。这只发生在某些设备上,例如三星 Galaxy S4 (Android 4.2.2) 等。许多关于此的帖子仍然没有解决方案。首先是一些有用的帖子。 (最终 GC 会清除它,因此从技术上讲它不是泄漏,但对于内存大的应用程序来说,它需要很长时间并且会导致 OOM)
Android Samsung Memory leak in EditText
Why does EditText retain its Activity's Context in Ice Cream Sandwich
Possibility of unhandled memory leak
上述解决方案不适用于所有设备。它归结为 Edittext Watcher。我认为可能有解决方案覆盖这个 Watcher,然后有一个函数来清理它 onDestroy()。请在这里提供任何帮助,我已经在这几天了。
这是 MAT 直方图
【问题讨论】:
-
明确内存泄漏检测设备可以报告“误报”。它有据可查,可能是您无法控制的代码的结果。
-
是的,这仅与某些手机有关,但是我想找到一种解决方法来更改它,因为具有此功能的手机最终会出现 oom。
-
@MobDev 你找到解决方案了吗?
-
也许这种解决方法可能对您有所帮助:*.com/a/27231817/1532108
标签: android memory-leaks android-edittext android-textattributes