ViewPager懒加载请注意
新版的Fragment中(Version 1.1.0-alpha07),该方法setUserVisibleHint已经过时,由FragmentTransactionsetMaxLifecycle替代,新版本的FragmentPagerAdapter可以设置直接调用生命周期,这代表ViewPager+Fragment懒加载有更好的解决方案,请注意
Adapter小结:
- 目前
ViewPager2
对Fragment
支持只能用FragmentStateAdapter
,FragmentStateAdapter
在遇到预加载
时,只会创建Fragment
对象,不会把Fragment
真正的加入到布局中,所以自带懒加载效果; FragmentStateAdapter
不会一直保留Fragment
实例,回收的ItemView
也会移除Fragment
,所以得做好Fragment`重建后恢复数据的准备;FragmentStateAdapter
在遇到offscreenPageLimit>0时,处理离屏Fragment
和可见Fragment
没有什么区别,所以无法通过setUserVisibleHint
判断显示与否,这一点知得注意;
在设置offscreenPageLimit>0时,Fragment
中是监听不到setUserVisibleHint
调用的,我查了源码没有调用,而且该方法被标记过时,所以,适用于ViewPager
那一套懒加载Fragment
在这里恐怕是不行了;