Fragment+Viewpager的预加载与懒加载
参考:
https://www.jianshu.com/p/ad810a0bef6b
http://www.jianshu.com/p/eb81f3692229
http://www.runoob.com/w3cnote/android-tutorial-fragment-demo4.html
预加载介绍
ViewPager+Fragment的搭配在日常开发中很常见,可用于切换展示不同类别的页面,我们日常所见的咨询、购物、金融、社交等类型的APP都有机会用到这种控件组合。
Viewpager控件有个预加载机制,即在默认的情况下当前页面左右两个页面会被预先加载,即使设置setofflimit(0)也无效果,这样不但会浪费初始化资源,降低性能,还会出现一些不可预期的问题。
为了禁止预加载,应用而生了懒加载。
懒加载介绍
所谓的懒加载,就是等到该页面的UI展示给用户时,再加载该页面的数据(从网络、数据库等)。
而不是依靠ViewPager预加载机制提前加载两三个,甚至更多页面的数据.这样可以提高所属Activity的初始化速度,也可以为用户节省流量.而这种懒加载的方式也已经/正在被诸多APP所采用.
但是通过ViewPager方法setOffscreenPageLimit(int limit)的源码可以发现,ViewPager通过一定的逻辑判断来确保至少会预加载左右两侧相邻的1个页面,也就是说无法通过简单的配置做到懒加载的效果.