



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Android优化方案之Fragment的懒加载实现代码
一、背景在Android应用中,ViewPager是我们不可避免使用的一个控件,因为它可以使我们在占用较少空间的同时,增强内容的丰富性,同时以其内部流淌着Google的血液,所以它几乎成了每一个App的标配控件。但是,假如ViewPager的每一个Fragment都需要通过网络拉取数据加载,而ViewPager是默认加载前两项的,所以在很容易造成网络丢包或者网络堵塞等问题,所以Fragment使用懒加载是非常有必要的。举个栗子:如上图所示,我们有两个大的Tab:人物和风景。而人物Tab下有三个Tab:美女、帅哥、萌娃三个Tab,风景Tab下有:北京、香港、上海三个Tab。假如当App刚启动时,执行的生命周期如下:我们可以看到,App会默认加载美女和帅哥两个Fragment,并且它们的生命周期都执行到onStar()方法,同时加载两个Fragment,假如我们在Fragment加载的时候拉取网络数据,那么就会造成如上所说的网络丢包或者网络堵塞等问题,所以我们为了避免这个问题,就需要实现Fragment的懒加载,当我们对Fragment可见的时候,再进行网络加载数据。二、实现Fragment懒加载针对背景讨论的问题,我们最终要实现的目标就是,当Fragment对我们可见时,我们才进行网络加载,然后再解析数据,更新UI。针对上面的Demo,我们需要做到如下效果:要实现起来其实也并不复杂,在Fragment中有一个setUserVisibleHint这个方法,而且这个方法是优于onCreate()方法的,所以也可以作为Fragment的一个生命周期来看待,它会通过isVisibleToUser告诉我们当前Fragment我们是否可见,我们可以在可见的时候再进行网络加载。当我们在setUserVisibleHint方法中进行Log输出时,我们可以看到:只有可见时,我们isVisibleToUser为true,否则为false。所以我们可以重写setUserVisibleHint方法,然后在可见时进行网络加载数据:三、根据实际用途使用懒加载由第二部分我们可以知道,setUserVisibleHint(booleanisVisibleToUser)方法是比onCreate更早调用的,但是我们一般在加载数据时,都会在数据加载完成时进行UI更新,所以这就有了一个问题,假如拉取数据是秒回,但是我们还没有进行UI绑定,或者是Adapter初始化等,那么我们就无法更新UI了,所以Fragment给我们提供了另一个方法getUserVisibleHint(),它就是用来判断当前Fragment是否可见,所以我们就可以在一系列变量初始化完成后再判断是否可见,若可见再进行数据拉取:当然,如果你的网络请求并不需要涉及UI更新,那么就可以直接在setUserVisibleHint(booleanisVisibl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年芬兰语等级考试芬兰语言学习成果研究试卷
- 咖啡厅饮品供应管理协议
- 社会保险缴纳工资证明书(6篇)
- 2025年水上加油船项目申请报告
- 小明和爸爸的一次爬山经历记叙文作文4篇
- 2025年法语DELFDCLT级写作测试试卷:翻译技巧实战分析
- 2025年小学英语毕业考试模拟卷:英语跨文化交际案例分析题库
- 农民土地流转承包经营权委托管理协议
- 酒店投资与管理权合作经营协议
- 2025年差压变送器项目申请报告
- 殡葬礼仪策划方案
- 行政效能提升路径研究
- (完整版)无菌医疗器械耗材生产企业体系文件-质量手册模板
- 小餐饮经营许可告知书承诺书范文
- JBT 3300-2024 平衡重式叉车 整机试验方法(正式版)
- 郑州经贸学院辅导员考试题库
- 城轨行车组织实训总结报告
- (正式版)HGT 6263-2024 电石渣脱硫剂
- 农村村民土地转让协议书
- GB/T 6346.1-2024电子设备用固定电容器第1部分:总规范
- TDT1056-2019县级国土调查生产成本定额
评论
0/150
提交评论