Banner实战

什么是 Banner
 
ViewPager 缓存页面 与 预加载
 
ViewPager 懒加载机制
ViewPager1 ViewPager2 的差异化
缓存页面 与 预加载
缓存页面的目的是为了预加载
缓存页面 - setOffscreenPageLimit 是什么? 设置预加载
为什么这个函数设置 0 无效,为什么缓存的页面数不能低于 1
缓存页面 populate setOffscreenPageLimit = 1
 
极端情况: T1 是当前展示页面,由于左边没有了,那么左边就不管,就只管右边的缓存
缓存页面 populate setOffscreenPageLimit = 2
极端情况: T1 是当前展示页面,由于左边没有了,那么左边就不管,就只管右边的缓存
设置 1 T1 T2 日志打印 右边 左边也一样的 ( 预加载
设置 1 T2 T3 日志打印右边 左边也一样的( 预加载
设置 1 预加载 会带来什么问题? 数据量变大 卡顿
1. 预加载的越多就会越卡
2. 一个 Fragment 占用 1M 5 个就 (5*1M) ,累计到后面就会 OOM
3. 如果预加载的 Fragment 在请求网络,不仅浪费流量,还会很卡顿
懒加载机制
懒加载 , 其实也就是延迟加载 , 就是等到该页面的 UI 展示给用
户时 , 再加载该页面的数据 ( 从网络、数据库等 ), 而不是依靠
ViewPager 预加载机制提前加载两三个,甚至更多页面的数
据。
目的: 这样可以提高所属 Activity 的初始化速度 , 也可以为
用户节省流量 . 而这种懒加载的方式也已经 / 正在被诸多 APP
所采用。
 
在写懒加载机制之前,有必要阅读 ViewPager 的源码
ViewPager 是怎么展示的
Populate 中的重要适配器原理
FragmentPagerAdapter
setUserVisibleHint
总结执行流程(前部分)
总结执行流程(后部分)
可见 与 不可见 的概念
 
第一版 懒加载
第二版 懒加载
第三版 懒加载
第四版 懒加载
setUserVisibleHint
第五版 懒加载 嵌套
最多两层嵌套
ViewPager1 ViewPager2 懒加载 对比
ViewPager1 ViewPager2 缓存页面 对比
Populate 中的重要适配器原理(处理缓存的地方)
ViewPager1 ViewPager2 使用方面 对比
狙击 ViewPager populate() 源码分析
ViewPager 中的 Populate 有什么用?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值