viewPager2.setOffscreenPageLimit 预加载数量 进行fragment的懒加载


1、一般我们预加载的时候,都会指定显示的数量,比如viewPager2.setOffscreenPageLimit(1);

如果设置 setOffscreenPageLimit(1), 会如何处理呢?

经过测试,会加载第一页与第二页,如果切换到第二页,会加载第三页,但不会执行onResume方法,也就是说只要切换到当前的页才会执行onResume方法。

FileImageFragment onAttach
FileImageFragment onViewCreated
FileImageFragment onStart
FileImageFragment onResume  --->只有当前页里的fragment会执行。


FileVideoFragment onAttach
FileVideoFragment onViewCreated
FileVideoFragment onStart

2、如果设置为0,会咱样呢?直接崩了,并且会有提示一定要大于等于1

3、如果处理成懒加载的话,其实很简单,只要是这个方法setOffscreenPageLimit不去设置,就可以了。

一开始本来想处理onResume方法,来进行懒加载,其实并不需要,只要不调用setOffscreenPageLimit这个方法即可

注:

加载是在

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
  ......这里是加载
}

但是如果page数量超过3的时候,自将第一个,与第五个,销毁,然后再创建。
解决:
setOffscreenPageLimit(2)这样就可以了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM