AndroidxLazyLoad
AndroidxLazyLoad copied to clipboard
发现个bug
第一个demo、第二个demo和ViewPager2的demo, 懒加载都会出现问题了,第一次进入的时候会调用lazyInit,然后切换到第三个fragment的时候 第一个fragment被销毁了,切换回来的时候会重建fragment,然后执行一次全部的生命周期
你好,我测试了一下Demo1的例子。走了一下你说的流程,具体流程如下所示
步骤1:直接进入Demo1,界面展示为Fragment1
步骤2:直接切到Fragment3
步骤3:切回到Fragment1
因为Fragment view 被销毁了,所以会走相应生命周期。这个有什么问题吗?
这对于Android Fragment的生命周期来说是没有问题的,但是正常来说对于懒加载的话,同一层级的fragment的话就不想出现初始化的
这对于Android Fragment的生命周期来说是没有问题的,但是正常来说对于懒加载的话,同一层级的fragment的话就不想出现初始化的
如果你想同层级的fragment不重走生命周期方法,那么使用Viewpager 是没有办法控制的,因为它总会销毁Fragment实例或view,但是如果你采用show +hide 的方式就不会重走生命周期方法。什么时候使用ViewPager,什么时候时候使用Show +hide。这个要看具体的使用场景了。当然该项目中也有使用Show +Hide的使用例子,你如果有兴趣可以看看。
这对于Android Fragment的生命周期来说是没有问题的,但是正常来说对于懒加载的话,同一层级的fragment的话就不想出现初始化的
viewPager.offscreenPageLimit = 3 就可以了