安卓开发中禁掉ViewPager预加载问题

这篇博客探讨了如何在安卓开发中禁掉ViewPager的预加载行为。通过创建一个BaseFragment基类,并覆盖 setUserVisibleHint 方法,实现当Fragment可见时调用onVisible()进行加载,不可见时调用onInvisible()。子类需要重写lazyLoad()方法来进行延迟加载,以此达到禁用预加载的效果。
摘要由CSDN通过智能技术生成
ViewPager预加载          
           ViewPager有一个 “预加载”的机制,默认会把ViewPager当前位置的左右相邻页面预先初始化,它的默认值是 1(看源码),这样做的好处就是ViewPager左右滑动会更加流畅,但是预先加载用户没有看到的页面的数据,会花费用户的一定的流量,所以就有了禁止ViewPager的“预加载”,节省用户流量。


 
        通过看上面ViewPager的部分源码可知, DEFAULT_OFFSCREEN_PAGES 这里就定义了默认值是1, 所以有的人说调用ViewPager的 setOffscreenPageLimit(int limit),来设置ViewPager预加载的数量,但通过这个方法设置的预加载的数量大于1才有效,也就是说,这种方案是不能禁掉预加载的,只能改变预加载的数量,如下图ViewPager源码:
 


 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值