Fragment懒加载预加载
1. 预加载viewpager.setOffscreenPageLimit(2);,默认是预加载1,可以结合懒加载使用。
如果希望进入viewpager,Fragment只加载一次,再次滑动不需加载(只有退出Activity),
可以重写viewpager adapter的getItem,去掉super
2.懒加载
public abstract class LazyFragment extends Fragment {
protected boolean isVisible;
/**
* 在这里实现Fragment数据的缓加载.
* @param isVisibleToUser
*/
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(getUserVisibleHint()) {
isVisible = true;
onVisible();
} else {
isVisible = false;
onInvisible();
}
}
protected void onVisible(){
lazyLoad();
}
protected abstract void lazyLoad();
protected void onInvisible(){}
}
public class OpenResultFragment extends LazyFragment{
// 标志位,标志已经初始化完成。
private boolean isPrepared;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d(LOG_TAG, "onCreateView");
View view = inflater.inflate(R.layout.fragment_open_result, container, false);
//XXX初始化view的各控件
isPrepared = true;
lazyLoad();
return view;
}
@Override
protected void lazyLoad() {
if(!isPrepared || !isVisible) {
return;
}
//填充各控件的数据
}
}
转载于:https://www.cnblogs.com/bhm666/p/6772477.html
Fragment懒加载预加载相关推荐
- android Viewpager取消预加载及Fragment方法的学习
1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载.通过设置setOffscreenPageLimit(int numbe ...
- android 移除fragment,Android Viewpager+Fragment取消预加载及Fragment方法的学习
1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载.通过设置setOffscreenPageLimit(int numbe ...
- 图片预加载和懒加载的多种方法
图片预加载和懒加载 图片懒加载 在渲染页面的时候,先将图片用一张默认图片代替,当图片到达浏览器可视区域时,才显示真实的图片. 这样的好处是,可以减缓服务器负担,加快初始界面的渲染速度. 实现方式: 使 ...
- 图片的懒加载与预加载
懒加载 懒加载:也叫延迟加载,指的是在长网页中延迟加载图片的时机,当用户需要访问时,再去加载,这样可以提高网站的首屏加载速度,提升用户的体验,并且可以减少服务器的压力. 懒加载的实现原理是:将页面上图 ...
- 前端女娲补天 HTML(二)什么是懒加载,什么是预加载
什么是懒加载 懒加载可以将页面上的图片src设置为空,真实路径放在data-original属性中,在图片进入可视区域后再将src设置为data-original的值. 具体实现 在DOM中获取所有懒 ...
- 超详细的图片预加载和懒加载教程
最近接手一个项目 . 结果光安装依赖都出现了一堆 麻烦 . 好不容易处理完一个 , 又来一个 .头疼啊 看到之前有一些预加载的学习笔记.于是又查查找找 ,想想写写 把预加载和懒加载的笔记写完整 发现制 ...
- 图片的懒加载和预加载?
一.写在前面 图片的懒加载和图片的预加载都是前端性能优化的一个方案,当然可能存在不同的应用场景,下面我们将总结一下这两个方案. 二.图片懒加载 图片的懒加载是什么? 图片的懒加载指的是在长网页中延迟加 ...
- 三十、PHP框架Laravel学习笔记——模型的预加载
一.预加载 预加载,就是解决关联查询中产生的 N+1 次查询带来的资源消耗 我们要获取所有书籍的作者(或拥有者),普通查询方案如下: //获取所有书籍列表 $books = Book::all(); ...
- RecycviewView加载更多和预加载
一.Recycleview的上拉加载更多 mRecyclerview.addOnScrollListener(mOnScrollListener);RecyclerView.OnScrollListe ...
最新文章
- Gym迎来首个完整环境文档,强化学习入门更加简单!
- springboot flask php,使用Vue,Spring Boot,Flask,Django 完成Vue前后端分离开发(二)
- Hadoop2配置详解
- Go 1.4 正式版发布,官方正式支持 Android
- flutter的安装与设置
- 实验三《实时系统的移植》 20145222黄亚奇 20145213祁玮
- [UVA - 11865]Stream My Contest(最小树形图+朱刘算法)
- matlab 安装jdbc.jar
- python中iskeydown什么函数_isKeyDown不能在Java中工作
- Zookeeper ZAB 协议分析
- python的版本会导致IBus设置(中文输入法)出错
- 计算从1加到该整数的值c语言,C语言编程题库与解析1.doc
- 大转盘html5源码,html5 大转盘
- 全面复盘Android开发者容易忽视的Backup功能
- elasticsearch 深入 —— 地理位置
- 页脚html模板,怎样用Photoshop设计漂亮的网页页脚模板实例教程
- GSR引擎专用工具更新使用贴子
- C++中换行endl和\n的区别
- 传输层的重要协议——TCP
- 广州王师傅揭秘未来20年最有前途的行业!——不要再错过下一个风口
热门文章
- elemenetui 布局_2020 零基础到快速开发 Vue全家桶开发电商管理系统(Element-UI)主页布局开发-Go语言中文社区...
- python简单命令语句_python基础教程之[基础学习]MySQL常用语句命令总结|python基础教程|python入门|python教程...
- 计算机在化学中的应用与探索,计算机在化学中的应用
- linux nvm 管理 nodejs,Nodejs 版本管理器: nvm 介绍
- android 传感器 应用,Android移动设备中传感器的应用
- ideahtml里面没有提示_抖音上爆火的苹果充电提示音,安卓手机也可以设置了!!...
- 工信部证书含金量_关于推荐考取BIM工程师、装配式工程师证书
- c++双向列表释放_Python列表生成式12个小功能,你常用哪几个?
- java中html的树状_HTML中的树状选择
- python移动文件中某个内容_如何在Python中移动文件