美文网首页
viewpager的缓存加载机制

viewpager的缓存加载机制

作者: nich | 来源:发表于2021-12-01 11:21 被阅读0次

    viewpager有缓存预加载机制,主要使用setOffscreenPageLimit(int limit) 

    1.setOffscreenPageLimit(int limit) 解释 

       缓存:左右都会缓存limit个页面,比如limit缓存数量是2,在tab3,那会缓存tab1、tab2、tab4、tab5,如果其他界面已经缓存过的话会调用onDestroyView销毁

       预加载:limit缓存数量是2,如果在tab1会预加载tab2、tab3,切换到tab2的话会预加载tab4,

    2.viewpager源码分析

    viewpager继承viewgroup当然也要走onmeasure,ondraw,onlayout方法,主要看onmeasure里面的populate()方法

    这里的mAdapter是PagerAdapter

    fragmentpageradapter就是你写的适配器,接下来看具体实现

    所以我们可以用uservisiblehint来懒加载,需要注意的是uservisiblehint不是生命周期函数,初始化的时候他的执行在fragment的onattch之前

    Fragment 生命周期按先后顺序:onAttach -> onCreate -> onCreatedView -> onActivityCreated -> onStart -> onResume ->onPause -> onStop -> onDestroyView -> onDestroy -> onDetach

    相关文章

      网友评论

          本文标题:viewpager的缓存加载机制

          本文链接:https://www.haomeiwen.com/subject/nzhsxrtx.html