Fragment预加载:当ViewPager+Fragment实现滑动页面时,当进入第一个页面时,第二个页面的内容(即页面需要填充的内容或逻辑)就会被提前加载出来,这会严重影响性能。
Fragment懒加载:为解决Fragment预加载导致性能降低出现的方法。
Fragment懒加载包括两种方式:
1、禁止Fragment预加载,重写ViewPager,但是这种方式会导致滑动卡顿,影响用户体验。
2、采用Fragment懒加载,在每个继承Fragment的类中,重写setUserVisibleHint()方法,可以在页面可见时,加载内容。
例如:
public class TestFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_tab, container, false);
return view;
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getUserVisibleHint()) {
//可见时进行内容加载或逻辑操作等
} else {
//不可见
}
}
}
感谢于阗提供的帮助(详细Fragment懒加载分析,可参考http://www.jianshu.com/p/104be7cd72b6)