1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Fragment懒加载预加载

Fragment懒加载预加载

时间:2019-05-26 13:57:09

相关推荐

Fragment懒加载预加载

1. 预加载viewpager.setOffscreenPageLimit(2);,默认是预加载1,可以结合懒加载使用。

如果希望进入viewpager,Fragment只加载一次,再次滑动不需加载(只有退出Activity),

可以重写viewpager adapter的getItem,去掉super

2.懒加载

publicabstractclassLazyFragmentextendsFragment{

protectedbooleanisVisible;

/**

*在这里实现Fragment数据的缓加载.

*@paramisVisibleToUser

*/

@Override

publicvoidsetUserVisibleHint(booleanisVisibleToUser){

super.setUserVisibleHint(isVisibleToUser);

if(getUserVisibleHint()){

isVisible=true;

onVisible();

}else{

isVisible=false;

onInvisible();

}

}

protectedvoidonVisible(){

lazyLoad();

}

protectedabstractvoidlazyLoad();

protectedvoidonInvisible(){}

}

publicclassOpenResultFragmentextendsLazyFragment{

//标志位,标志已经初始化完成。

privatebooleanisPrepared;

@Override

publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){

Log.d(LOG_TAG,"onCreateView");

Viewview=inflater.inflate(R.layout.fragment_open_result,container,false);

//XXX初始化view的各控件

isPrepared=true;

lazyLoad();

returnview;

}

@Override

protectedvoidlazyLoad(){

if(!isPrepared||!isVisible){

return;

}

//填充各控件的数据

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。