什么是
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
有什么用?