美文网首页
viewpager+fragment懒加载经验

viewpager+fragment懒加载经验

作者: 花香_Android | 来源:发表于2016-10-09 16:12 被阅读0次

    viewpager设置缓存数量:

    mViewPager.setOffscreenPageLimit(1);

    后,来回切换只会调用onCreateView() -> onDestroyView()生命函数,因为ViewPager里对Fragment的回收和创建时,如果Fragment已经创建过了,那么只会调用onCreateView() -> onDestroyView()生命函数。

    实现懒加载,并且限制加载缓存为1,需要:

    1 ,在oncreateview里防止反复创建view,但是不为空直接返回,网络加载的数据下来操作界面会报空指针,可能是ondestroyview里面做了操作,找到的view的id给清空了(用黄油刀的情况下),所以就不用做view是否为空的判断了。

    2,在ondestroyview里可以控制是否加载完数据的标志,第二次进来会继续走oncreateview,onactivitycreated,的顺序,不控制isLoadDataCompleted的话,因为类没有销毁,只是在走周期函数,所以isLoadDataCompleted还是为true,最终结果就是显示有view的界面。数据并没有去加载。

    总结:1,实现懒加载,就不用去限制viewpager的加载缓存了。没有意义。处理起来还烦。

    2,实现懒加载又实现限制,就必须注意oncreateview,和ondestroyview的操作,这样会造成不是相邻的项目切换的话会有白板,因为相当于重新创建view,然后加载数据显示。

    相关文章

      网友评论

          本文标题:viewpager+fragment懒加载经验

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