Fragment懒加载的原理与实现

为什么要进行懒加载

一个优秀的APP在流畅性一定要做到不卡顿、没有跳帧、就算等待请求网络也要有动画让用户不会觉得死机。那么这一期我会在Fragment里进行懒加载,只有当页面显示的时候才被加载,不显示时让资源及时得到释放。

如果每个 Fragment 都有默认的网络请求操作(也可能是其它耗时操作,这里以网络请求为例),那么多个在 Fragment创建过程中都会执行默认网络请求,无论 Fragment 是否对用户可见,显然有些浪费流量、影响性 App 性能、用户体验不佳等缺点,这些自然不是我们想看到的,出于这些原因,让 Fragment 进行数据懒加载就有必要了。

那么懒加载的好处是什么呢

懒加载好处

  1. 减少了加载时县城数量,使可视区域内的图片也能够快速加载,优化了用户体验;
  2. 减少了同一时间发向服务器的请求数,服务器压力剧减;

Fragment懒加载实现的原理

学一样东西我们必须要向它的原理下手,OK!那么现在我们往上翻一翻!经过查看 ViewPager 的源码,我发现一个核心的方法 populate()
在这里插入图片描述
里面有这一段代码是用来设置缓存范围,比如总共有5个页面,设置了缓存大小是1(就是这个mOffscreenPageLimit参数),当前所有的位置是最0的话,那么缓存的就系1;当用户滑到1的时候缓存的则是0、1、2,滑到最右的时候缓存的就 3、4;
我用下面三幅图来描述一下
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值