Closed JingleDingDang closed 7 years ago
本工具的ToastUtils没有使用Activity实例,使用的applicationcontext
我Toast引用的自定义View是弱引用啦,不会泄漏的,你找个我代码泄漏的地方我看看
@heroPool 你咋这么快
是,使用的weaklyActivity,
@JingleDingDang 已修复内存泄露bug,引起的原因是由于你给sToast设置了自定义View,在Activity退出的时候View还在sToast中引用着没有销毁,所以导致了Activity泄露。
@JingleDingDang 你传入的view肯定和activiy生命周期相绑定,如下
LayoutInflater.from(xxActivity).inflate(layout, null);
这样的话会造成泄露。 但如果你把xxActivity改成application就没事了
ToastUtils的静态成员变量sToast内存泄漏。是调用自定义Toast那个方法后触发的。 检测持有Toast.mNextView,引用到了自定义Toast View的上下文,导致调用该工具的Activity没法释放。感觉还是静态成员变量的锅。