美文网首页
Fragment中懒加载和实时刷新数据setUserVisibl

Fragment中懒加载和实时刷新数据setUserVisibl

作者: A挑战未来A | 来源:发表于2019-05-15 19:33 被阅读0次

    关于fragment的懒加载探析

    这里涉及到的API有两个:

    1. public void setUserVisibleHint(boolean isVisibleToUser)

    百度搜索fragment的懒加载,往往能看到关于这个Api的介绍,大致浏览了几篇文章,主要内容有:

    • setUserVisibleHint(boolean isVisibleToUser)这个方法在onCreateView()方法执行之前执行的,在setUserVisibleHint(boolean isVisibleToUser)中可以提前进行网络请求也就是所谓的懒加载。。。
    • 需要注意的是这方法执行的时候,不能保证布局文件初始化,所以该方法内建议只能是纯数据获取操作。
    • setUserVisibleHint(boolean isVisibleToUser)这个方法貌似只有使用ViewPager加载Fragment的时候,才会调用这个方法;创建一个容器,动态加载fragment,进行显示隐藏,这种方式这个方法不执行。(查看源码可以知道,这个方法是在FragmentPagerAdapter中进行调用参考 文章)
    2. onHiddenChanged(hidden: Boolean)
    • 当前mainActivity创建的时候,将所有Fragment都初始化创建对象,隐藏其他fragment,只显示其中一个fragment的时候,被隐藏的fragment会执行这个方法,且hidden=true,当被隐藏的fragment进行显示的时候该方法也会执行,hidden=false;
    • 根据上面所述,当hidden==false的时候,进行数据获取可以做到每次显示当前fragment的时候,都会刷新数据。
      参考 setUserVisibleHint1
      参考 setUserVisibleHint2
      参考 onHiddenChanged
      参考 onHiddenChanged和setUserVisibleHint

    相关文章

      网友评论

          本文标题:Fragment中懒加载和实时刷新数据setUserVisibl

          本文链接:https://www.haomeiwen.com/subject/tqbpaqtx.html