首页 > 软件开发 > ANDROID >

android fragment 懒加载的讲解

来源:互联网 2023-03-17 00:05:02 96

我们在做app的时候 经常要用到页面切换,一屏要加载很多页面,我们不可能一打开页面就同时请求每个页面的数据,这让给我们很大的网络压力,所以引入了fragment的懒加载,就是每显示一个fragment时就请求当页的网络数据。szg办公区 - 实用经验教程分享!

android fragment 懒加载的讲解szg办公区 - 实用经验教程分享!

工具/原料

  • android studio

方法/步骤

  • 1

    一、我们写一个LazyFragment的抽象类,初始化一个基本的属性,重写setUserVisibleHint方法,fragment加载的实现就是关键是这个方法,对用户可见,会多次执行。如下图。szg办公区 - 实用经验教程分享!

    android fragment 懒加载的讲解szg办公区 - 实用经验教程分享!

  • 1本页面未经授权抓取自百度经验
  • 2

    二、我们查看一下setUserVisibleHint的源码,从上述源码注释我们可以看出,当fragment被用户可见时,setUserVisibleHint()会调用且传入true值,当fragment不被用户可见时,setUserVisibleHint()则得到false值。如下图。szg办公区 - 实用经验教程分享!

    android fragment 懒加载的讲解szg办公区 - 实用经验教程分享!

  • 3

    三、我们在Fragment的onActivityCreated中设置初始化的值,并当开启懒加载的情况下调用onLazy()方法。然后在onLazy方法我们看到 必须要满足 view已经初始化,对用户可见,第一次懒加载才会执行我们要的代码。szg办公区 - 实用经验教程分享!

    android fragment 懒加载的讲解szg办公区 - 实用经验教程分享!

  • 4

    四、在MainActivity中初始化Fragment,为了要测试懒加载过程,我们添加三个fragment,第一个fragment为我们封装的实现类,如下图。szg办公区 - 实用经验教程分享!

    android fragment 懒加载的讲解szg办公区 - 实用经验教程分享!

  • 5

    五、测试执行,我们点击首页时,先加载一下,一会就显示出数据,再点击其他回来首页,页面不做数据请求。如下图。szg办公区 - 实用经验教程分享!

    android fragment 懒加载的讲解szg办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!szg办公区 - 实用经验教程分享!


    标签: Android

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码