TDialog icon indicating copy to clipboard operation
TDialog copied to clipboard

内存泄漏问题

Open Roben1016 opened this issue 5 years ago • 7 comments

库版本为2.1.1 安卓版本9.0 华为Mate20 关闭dialog, 出现内存泄漏, 就是一个简单的dialog, 一个TextView, 点击外部消失后在LeakCanary内存泄漏检测工具上报了泄漏. Screenshot_20190530_151130_com iqtogether qxueyou

Roben1016 avatar May 30 '19 07:05 Roben1016

看你提供的堆栈信息,是由HandlerThread引起的泄漏,麻烦说一下弹窗的场景是怎样的?

Timmy-zzh avatar May 31 '19 14:05 Timmy-zzh

和我的一样,8.0 以上存在内存泄漏

258188170 avatar Jun 03 '19 03:06 258188170

看你提供的堆栈信息,是由HandlerThread引起的泄漏,麻烦说一下弹窗的场景是怎样的?

貌似在安卓特定版本(我测试的是9.0)上才出现, 弹窗的场景很简单, 就是点击控件, 弹窗最简单的弹窗, 点击外部消失后就会提示泄漏信息, 感觉是系统问题

Roben1016 avatar Jun 03 '19 03:06 Roben1016

是的,我也有

peiniwan avatar Jun 17 '19 06:06 peiniwan

有不有老铁把这个问题解决了的 共享哈方案呢

NickTet avatar Oct 31 '19 06:10 NickTet

原生DialogFragment中,要去除OnCancelListener,OnDismissListener两个监听防止内存泄漏,作者的源码强耦合,不太好改,需要作者自己来改,我自己把DialogFragment源码复制下来,去掉这两个监听,就不会内存泄漏了

ZevShiShi avatar Aug 14 '20 06:08 ZevShiShi

@Timmy-zzh 作者你好,我pull request一份修复内存泄漏的代码,你可以审核一下,使用LeakCanary检查未发现内存泄漏,如果ok的话可以使用一下并发布一个新的版本吧

Roben1016 avatar Aug 24 '20 13:08 Roben1016