09_viewpager+fragment

2020-10-21  本文已影响0人  lww文

viewpager 缓存

setOffscreenPageLimit(1) 默认缓存 3个页面  显示一个缓存2个

预加载:显示一个缓存2个

如果一个页面需要  5M内存 3个页面就会有15m

如果一个页面加载需要.0.5s 个页面就需要1.5s  

但是我们此时 只是显示一个 页面 所以 会造成浪费

我们需要懒加载

懒加载: 先缓存一个空白页面 避免预加载  只有真正显示的时候才加载(只是不记载 网络数据)   

缓存的机制原理

 viewpager的函数

关键函数 populate(); 填充  fragment   adapter 适配器模式

viewpager和 Adapter如何联系的?在  viewpager 的 populate()

 1 mAdapter.startUpdate(this);  

1:如果item是空 创建一个item'


====PagerAdapter 中的关键函数

public abstract int getCount(); 有多少个页面

startUpdate(@NonNull ViewGroup container) 开始更新ui

instantiateItem(@NonNull ViewGroup container, int position) 初始化

destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) 销毁item

setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) 设置当前页面

finishUpdate() 结束更新

缓存就是把  fragment 放到 arraylist 

上一篇 下一篇

猜你喜欢

热点阅读