MvpApp
MvpApp copied to clipboard
是否需要在BaseFragment 的 ondestroyView里面移除mRootView
hello,在BaseFragment 的 onCreateView里
ViewGroup parent = (ViewGroup) mRootView.getParent();
if (parent != null) {
parent.removeView(mRootView);
}
有这段移除rootview的但是一直没有执行到,请问是否需要把这段父布局移除rootview的代码移到 ondestroyView里面
不用,销毁的时候mRootView也会销毁
我的场景是viewpager + fragment,有rootview的复用满足了需求,个人比较好奇rootview在什么时候销毁的 , 对应的Fragment ondestroy走了,rootview依然存在的 , viewpager用的FragmentStatePagerAdapter
按我的理解,fragment的生命周期由FragmentStatePagerAdapter控制,在FragmentStatePagerAdapter里保存了你添加的每个fragment,虽然调用了ondestroy,但是fragment对象并没有被销毁,所以rootview依然存在
这种写法,在fragment 嵌套中 Leakcanary 会一直报内存泄漏。