2019独角兽企业重金招聘Python工程师标准>>>

在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图:

当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以看见他们的界面的。

但是当我们的页面处在1的时候,页面3实际上就已经销毁了。直到跳转到页面2的时候,页面3才会创建View。

这时,如果页面3中有需要耗时的事件,比如网络访问。那么,在我们进行 1-->2 的操作的时候,就会不断的出现页面3加载的对话框(如果有的话)。而且如果快速的 1-->2-->3的切换,3中的内容很可能还没加载出来。

这样重复的加载,既影响体验、又耗费时间和流量,所以笔者这两天一直在查如何在Fragment移出的时候不要销毁,或者保存状态。

后来发现真是多此一举,如果您的软件对内存消耗不是很在意的话,只需加入以下代码:

[java]  view plain copy
  1. pager.setOffscreenPageLimit(2);

就可以让ViewPager多缓存一个页面,这样上面的问题就得到了解决。

当然这只是个取巧的方法,如果有比较好的保存状态的方法会更好。

转载请注明来自:http://blog.csdn.net/icyfox_bupt/article/details/18356461

转载于:https://my.oschina.net/sfshine/blog/470729

防止ViewPager中的Fragment被销毁的方法相关推荐

  1. 友盟页面统计 - 关于Viewpager中的Fragment的生命周期

    Activity和Fragment各自理论上的生命周期 Activity的生命周期是较为经典也最清晰的,在此不表: Fragment从出现到广泛运用也有一段时间了,其标准生命周期也仅比Activity ...

  2. ViewPager中Fragment的重复创建、复用问题

    在ViewPager中的Fragment的生命周期  随着页面的切换 当前的展示页相邻的页面生命周期一直在变化 一开始 刚进入Activity时候,ViewPager默认初始化好前两个Fragment ...

  3. android tab pageview,Android Fragment在ViewPager中到底经历了什么?

    2017年05月30 最后的懒加载写的不好,推荐请叫我大苏同学写的Fragment懒加载博客, [Android]再来一篇Fragment的懒加载(只加载一次哦) 在大苏同学的博客评论里,看到了另一个 ...

  4. android listview动态添加viewpager,向 ViewPager 中添加 包含 ListView 的 Fragment

    对与fragment就不说什么了,直接看API手册吧,亲. 向 ViewPager 中添加 包含 ListView 的 Fragment 的过程比较麻烦.他所表现的效果就是新闻客户端的滑动翻页效果. ...

  5. android viewpager fragment 生命周期,ViewPager中Fragment的生命周期

    网上有很多Fragment生命周期的帖子,但是看了一下,没有找到自己想了解的东西,于是决定自己动手体验一下这个生命周期.主要想了解以下几个问题: Activity中的Fragment的生命周期 Vie ...

  6. Fragment在ViewPager中的生命周期

    转载自 hdszlk的博客     原文链接:https://www.2cto.com/kf/201607/530540.html 1.一直以来的疑问 Fragment在ViewPager到底经历了哪 ...

  7. Android清空Fragment缓存,清空Fragment来退栈中某个Fragment

    清空Fragment回退栈中某个Fragment 出栈的方法: getActivity().getSupportFragmentManager().popBackStackImmediate(Crea ...

  8. app包中的fragment和v4包中的fragment的使用的区别

    转自 http://blog.csdn.net/a465456465/article/details/10415211 app包中的fragment和v4包中的fragment的使用的区别 1.尽量不 ...

  9. viewpager初始化fragment没有绘制_Fragment在ViewPager中的正确应用(3)FragmentStatePagerAdapter优化了什么...

    前言 Fragment在ViewPager中的正确应用(2)内存泄漏?内存溢出 错误终结者:Fragment在ViewPager中的正确应用 OK,填坑篇的文章来了. 当我打开官方文档准备开始了解Fr ...

最新文章

  1. 分享一下我的初中生活
  2. PackageManagerService详解
  3. JAVA写的爬虫小工具
  4. settimeout需要清除吗_钢结构抛丸机可以清理结构件上的焊渣吗?
  5. c-nominated = ((rcheck-use_candidate) || c-nominated);
  6. 用Python处理图片九宫格
  7. JAVA生产环境验证_Java生产环境下性能监控与调优详解
  8. linux 内核地址随机化,GNU/Linux内核的地址随机化
  9. Spring 整合 Quartz 分布式调度
  10. python3环境运行python2代码_使用Anaconda实现Python2和Python3共存及相互转换
  11. ElasticSearch破解x-pack 6.0+和更新许可证(License)
  12. navigation笔记
  13. Django模型(model)系统
  14. 一文理解 Windows 身份验证原理
  15. modbus寄存器、功能码、报文结构解析
  16. 油猴安装、编写及添加脚本 笔记
  17. python数据分析前景如何_数据分析师的前景怎么样?
  18. [PHP]用PHP自己写一个zoomeye的api(偷懒必备quq)
  19. 2万字系统总结,带你实现 Linux 命令自由?
  20. 夕颜的python笔记003

热门文章

  1. c程序设计语言1-10答案,C语言程序设计试卷及答案_1(10页)-原创力文档
  2. barco控制软件支持linux_vnc远程控制软件linux,在linux系统上能够使用的vnc远程控制软件...
  3. db2 查看表结构_数据库结构文档的生成利器
  4. san分布式共享文件系统_【最强科普】一文读懂分布式存储
  5. 了解FPS屏幕刷新率
  6. hibernate mysql longblob_为什么不能将JPA / hibernate映射到MySQL blob类型?
  7. 香港科技大学计算机专业国内就业6,香港科技大学就业好吗?
  8. 20211010 PHP笔记
  9. NodeJs局域网开启服务
  10. Javascript插入排序