1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载。通过设置setOffscreenPageLimit(int number) 来设置预加载的熟练,在V4包中,默认的预加载是1,即使你设置为0,也是不起作用的,设置的只能是大于1才会有效果的。我们需要通过更改V4包中的默认属性才可以。

更改过的V4 包下载地址:
http://pan.baidu.com/s/1xtzEA
 
2.限制预加载,会出现滑动过程中卡顿现象。其实Fragment中防止预加载主要是防止数据的预加载,Fragment中的VIew预加载是有好处的,我们可以通过Fragment中的一个方法来达到预加载View 但是不加载数据,在Fragment显示的时候才去加载数据。
直接上我项目中使用到的代码:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
                        //判断Fragment中的ListView时候存在,判断该Fragment时候已经正在前台显示  通过这两个判断,就可以知道什么时候去加载数据了
if (isVisibleToUser && isVisible() && mPullToRefreshGridView.getVisibility() != View.VISIBLE) {
initData(); //加载数据的方法
}
super.setUserVisibleHint(isVisibleToUser);
}
这个方法会在切换到Fragment显示的时候去调用。
为了保证一开始加载Fragment的时候该方法提前调用,导致的数据不会加载,我在代码中做出了如下的判断:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
if (getUserVisibleHint() && mPullToRefreshGridView.getVisibility() != View.VISIBLE) {
initData();
}
super.onActivityCreated(savedInstanceState);
}

特别注意:
1.在刚开始加载Fragment的时候,setUserVisibleHint这个方法比onCreated方法执行的还要早。预加载的Fragment就不会执行这个方法。
2.在VIewPager 切换到某个Fragment的时候,还会调用该方法。
通过在这个方法中去加载数据,我发现可以一定程度的实现预加载问题,保证了预加载不会加载数据,只会加载Fragment中的VIew,这样就可以保证了VIewPager滑动的流畅性,也保证了只有切换到一个Fragment的时候才去加载数据的目的。
我觉得这种方法比修改V4包中的预加载数量好的多啊。
来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/flyme2012/p/4175510.html

android Viewpager取消预加载及Fragment方法的学习相关推荐

  1. android 移除fragment,Android Viewpager+Fragment取消预加载及Fragment方法的学习

    1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载.通过设置setOffscreenPageLimit(int numbe ...

  2. CSS、JavaScript和Ajax实现图片预加载的三大方法及优缺点分析

    预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画 廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发 ...

  3. Win7取消禁用加载项的方法

    方法/步骤: 1.打开浏览器,在命令栏点击工具下拉列表: 2.在命令栏工具下拉列表里面选择internet选项,如图所示标注: 3.在internet选项窗口选择程序页签,浏览各模块对应内容及相关设置 ...

  4. Android对View预加载

    为什么要对View进行预加载呢?提高Activity的启动速度,避免每次解析xml文件. 我的思路是对每个Activity要setContentView的的布局进行预加载并且进行缓存.下次再次打开该A ...

  5. android调用h5预加载图片,使用HTML5的页面资源预加载(Link prefetch)功能加速你的页面加载速度...

    不管是浏览器的开发者还是普通web应用的开发者,他们都在做一个共同的努力:让Web浏览有更快的速度感觉.有很多已知的技术都可以让你的网站速度变得更快:使用CSS sprites,使用图片优化工具,使用 ...

  6. android预加载app,Android欢迎页预加载首页数据

    项目需求:展示欢迎页的同时执行token登录和首页预加载 背景: 在此之前,展示欢迎页和token登录等网络操作是串行的,所以用户点开App到最终看到首页的时间就是:"展示欢迎页的时间&qu ...

  7. android调用h5预加载图片,图片预加载 preload

    图片预加载 HTML5学堂:2014年年初的时候,曾经在自己的博客"独行冰海"里写过关于图片预加载和懒加载的博文,当时的文章当中没有写什么关于预载的代码范例,当前打算把预载和懒载分 ...

  8. 利用CSS、JavaScript及Ajax实现图片预加载的三大方法

    预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...

  9. 利用CSS、JavaScript及Ajax实现图片预加载的三大方法及优缺点分析

    预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...

最新文章

  1. 设置用户帐号只能一个地方登录
  2. 解决使用个推后背景音乐音量变小问题
  3. php mysql迭代器_php 迭代器
  4. Angular 原理图 Schematics 学习 - 动手开发一个实际的例子
  5. scite editor on mac
  6. python怎么用numpy_Python:一篇文章掌握Numpy的基本用法
  7. 64位centos 5.1(kenel版本:2.6.18-53)上安装VMware Server遇到的问题及解决方法
  8. matlab 电力系统分析 毕设,毕设开题报告_-基于matlab中电力系统模块集(psb的电力系统仿真研究.doc...
  9. 【NOIP2006】【Luogu1063】能量项链
  10. 亲自动手写一个深度学习框架
  11. win10切换视图快捷键and其他
  12. 跟我学Kafka:Kafka消费组运维详解
  13. 一个玩游戏的失足青年,转行做软件开发的挣扎过程(1)
  14. 利用ps导出svg(主要用于上传自定义图标到iconfont)
  15. rplidar连接计算机显示process has died.....解决方法
  16. win10多合一原版系统_win10简体中文64位16299.15多合一版本
  17. 【Spring Boot】 过滤器、监听器、拦截器的使用
  18. 计算机应用基础 双语 答案,计算机应用基础(双语)课件PPTChax
  19. c语言行列式运算程序,行列式计算程序,没事看看吧,已经验证
  20. 橱柜高度与身高对照表_装修血泪史:厨柜高度到底要多高才合适【技术帖】

热门文章

  1. python 数组升序_python简单数据清洗和分析
  2. idea缩写快捷键_IDEA快捷键大全 快速页面重构
  3. 用什么擦地最干净脑筋急转弯_22个数学脑筋急转弯答案,你能全部做出来吗?...
  4. autodesk许可证服务器,Autodesk软件工作流介绍(十)——配置网络许可服务器的步骤...
  5. php 打开动态链接,php调用com组件-dll文件(动态链接库)
  6. mysql 最小日期函数_MySQL 日期加减函数汇总
  7. mysql锁总结知乎_Mysql悲观锁乐观锁区别与使用场景
  8. iis6如何升级iis7_IIS修复IIS出现错误后如何完全卸载重装
  9. 文档扫描仪的构建——使用Python,OpenCV应用透视变换来获得图像的自顶向下的“鸟瞰图”
  10. CornerNet代码解析——损失函数