public void replaceFragment(Fragment fragment) {
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.container, fragment);
ft.commit();
} R.id.container是一个FrameLayout,用来放fragment,我快速点击几个按钮替换fragment会引起内存泄漏。
具体看下图:
fragment 我只是简单在上面放一些控件,具体类里面我连findViewById都还进行。但是就是会出错。
replaceFragment的调用,我每次都是new一个新的对应fragment。麻烦大佬指点一下。
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.container, fragment);
ft.commit();
} R.id.container是一个FrameLayout,用来放fragment,我快速点击几个按钮替换fragment会引起内存泄漏。
具体看下图:
fragment 我只是简单在上面放一些控件,具体类里面我连findViewById都还进行。但是就是会出错。
replaceFragment的调用,我每次都是new一个新的对应fragment。麻烦大佬指点一下。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isFirstLoad && isVisibleToUser) { isFirstLoad = false;
}
}
避免重复加载就可以
repalce等于add remove问题是我的框架是下面有一排按钮,很多,没点一个上面的区域就要显示对应的fragment,如果我不用replace的方式,释放原理的,那么最后有可能就相当于所有fragment多存在,这样很耗内存。
没用Viewpager
repalce等于add remove问题是我的框架是下面有一排按钮,很多,没点一个上面的区域就要显示对应的fragment,如果我不用replace的方式,释放原理的,那么最后有可能就相当于所有fragment多存在,这样很耗内存。
用add然后显示show
你可以用谁加谁啊,fragment是轻量级的