ViewPager + FragmentPagerAdapter 最佳实践

来源:互联网 发布:牛仔衬衫 知乎 编辑:程序博客网 时间:2024/06/05 15:48

fragment生命周期

这里需要注意的是当Fragment不可见的时候执行了onDestroyView,可见的时候执行onCreateView。
这里写图片描述 这里写图片描述

ViewPager为了让滑动的时候可以有很好的用户的体验,也就是防止出现卡顿现象,因此它有一个缓存机制。默认情况下,ViewPager会提前创建好当前Fragment旁的两个Fragment,举个例子说也就是如果你当前显示的是编号3的Fragment,那么其实编号2和4的Fragment也已经创建好了,也就是说这3个Fragment都已经执行完 onAttach() -> onResume() 这之间的生命周期函数了。

Fragment懒加载和ViewPager的坑

最佳实践

  1. Viewpager fragment懒加载,真正可见的时候才去网络加载数据,而不是在onCreateView,这样可以针对加载数据的不同给出相应的提示;

  2. 第一次load数据的时候显示菊花进度,把数据(ArrayList)设为fragment的成员变量(也可放入全局缓存);

  3. 第二次显示fragment的时候先显示缓存的数据(不需要显示菊花进度了),然后后台去网络加载数据更新缓存和UI。
0 0