Bootstrap

ViewPager2

ViewPager懒加载请注意
新版的Fragment中(Version 1.1.0-alpha07),该方法setUserVisibleHint已经过时,由FragmentTransactionsetMaxLifecycle替代,新版本的FragmentPagerAdapter可以设置直接调用生命周期,这代表ViewPager+Fragment懒加载有更好的解决方案,请注意

Adapter小结:

  • 目前ViewPager2Fragment支持只能用FragmentStateAdapterFragmentStateAdapter在遇到预加载时,只会创建Fragment对象,不会把Fragment真正的加入到布局中,所以自带懒加载效果;
  • FragmentStateAdapter不会一直保留Fragment实例,回收的ItemView也会移除Fragment,所以得做好Fragment`重建后恢复数据的准备;
  • FragmentStateAdapter在遇到offscreenPageLimit>0时,处理离屏Fragment和可见Fragment没有什么区别,所以无法通过setUserVisibleHint判断显示与否,这一点知得注意;

在设置offscreenPageLimit>0时,Fragment中是监听不到setUserVisibleHint调用的,我查了源码没有调用,而且该方法被标记过时,所以,适用于ViewPager那一套懒加载Fragment在这里恐怕是不行了;

;