Timmy-zzh / TDialog

DialogFragment封装,高效实现各种弹窗效果
482 stars 93 forks source link

内存泄漏问题 #37

Open Roben1016 opened 5 years ago

Roben1016 commented 5 years ago

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

Timmy-zzh commented 5 years ago

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

258188170 commented 5 years ago

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

Roben1016 commented 5 years ago

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

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

peiniwan commented 5 years ago

是的,我也有

NickTet commented 5 years ago

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

ZevShiShi commented 4 years ago

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

Roben1016 commented 4 years ago

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