ViewPager使用中的一些小技巧

1、使用setOffscreenPageLimit()方法可以限制它一次加载几页,它的默认值1,google建议也是维护一下小的加载页数3-4;
但是只要手机性能稍微弱一点和系统内存更不上,都会导致切换的时候出现部分数据显示不出,白屏;尤其是在红米系统,如果总页数大于4,个人建议设置2

2、使用viewpager做懒加载,也就是在viewpager缓存界面的时候;当前界面没有显示就先加载布局,显示的时候加载网络数据;
使用Fragment的setUserVisibleHint()方法做实现,或者使用ViewSub异步加载布局文件

3、在viewpager中嵌套了viewpager来回切换外层的fragment,导致里面的fragment卡顿,
这时候里面的viewpager的adapter可以使用getChildFragmentManager()方法缓存,控制。

4、使用viewpager的FragmentPagerAdapter/FragmentStatePagerAdapter做数据填充时,第二次添加给fragment设置的数据出现不能生效。
原因在于FragmentTransaction对象会保留fragment的对象,除非fragment是被FragmentTransaction 对象remove的才会彻底删除fragment

原文地址:http://blog.51cto.com/12539515/2096105

时间: 2024-10-15 21:32:12

ViewPager使用中的一些小技巧的相关文章

Linux的95个小技巧

Linux的95个小技巧 by WEB全栈工程师 on 2012 年 03 月 27 日 这里总结了Linux使用中的一些小技巧 1.实现RedHat非正常关机的自动磁盘修复 先登录到服务器,然后在/etc/sysconfig里增加一个文件autofsck,内容如下:AUTOFSCK_DEF_CHECK=yesPROMPT=yes 2.改变文件或目录之最后修改时间(变为当前时间)执行格式:touch name ( name 可为文件或目录名称.) 3.如何设置login后欢迎信息 修改/etc/

分享几个 SpringBoot 实用的小技巧

前言 最近分享的一些源码.框架设计的东西.我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多:这次就分享一点接地气的: SpringBoot 使用中的一些小技巧. 算不上多高大上的东西,但都还挺有用. 屏蔽外部依赖 第一个是屏蔽外部依赖,什么意思呢? 比如大家日常开发时候有没有这样的烦恼: 项目是基于 SpringCloud 或者是 dubbo 这样的分布式服务,你需要依赖许多基础服务. 比如说某个订单号的生成.获取用户信息等. 由于服务拆分,这些功能都是在其他应用中以接口的形式提

MathType使用中的四个小技巧

MathType是一种比较常见的数学公式编辑器,常常与office搭配着使用,我们在使用的时候有一些要注意的小技巧,下面我们就来给大家介绍介绍MathType使用中的四个小技巧? 技巧一:调整工具栏显示比例 使用场景:头昏眼花总觉得看不清的MathType工具栏符号模板的时候就可以将显示比例调整得大一点,方便一眼就看到各种符号和模板. 操作过程: 1.打开MathType编辑窗口,选择“预置”——“工作区预置”. 2.在弹出的对话框中,在“工具栏大小”一项根据需要选择“中”或者“大”,点击“确定

Vue 使用中的小技巧

在vue的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是或许优化一下可以更高效更优美的进行开发.下面有一些我在日常开发的时候用到的小技巧,在下将不定期更新~ 1.多图表resize事件去中心化 1.1 一般情况 有时候我们会遇到这样的场景,一个组件中有几个图表,在浏览器resize的时候我们希望图表也进行resize,因此我们会在父容器组件中写: mounted() { setTimeout(() => window.onresize = () => { this.$refs.char

不为人知的python request小技巧

关于 Python requests ,在使用中,总结了一些小技巧把,记录下. 1:保持请求之间的Cookies,我们可以这样做. 2:请求时,会加上headers,一般我们会写成这样 唯一不便的是之后的代码每次都需要这么写,代码显得臃肿,所以我们可以这样: 3:默认requests请求失败后不会重试,但是我们跑case时难免遇到一些网络或外部原因导致case失败,我们可以在Session实例上附加HTTPAdapaters 参数,增加失败重试次数. 这样,之后的请求,若失败,重试3次. 4:重

Android开发的那些坑和小技巧

1.android:clipToPadding 意思是控件的绘制区域是否在padding里面.默认为true.如果你设置了此属性值为false,就能实现一个在布局上事半功陪的效果.先看一个效果图. 上图中的ListView顶部默认有一个间距,向上滑动后,间距消失,如下图所示. 如果使用margin或padding,都不能实现这个效果.加一个headerView又显得大材小用,而且过于麻烦.此处的clipToPadding配合paddingTop效果就刚刚好. 2.match_parent和wra

iOS开发小技巧之--WeakSelf宏的进化

我们都知道在防止如block的循环引用时,会使用__weak关键字做如下定义: __weak typeof(self) weakSelf = self; 后来,为了方便,不用每次都要写这样一句固定代码,我们定义了宏: #define WeakSelf __weak typeof(self) weakSelf = self; 之后,我们可以比较方便的在需要的地方: WeakSelf; ... [weakSelf doSomething]; 再后来,我们发现不止self需要使用weak,可能有部分变

Python Requests 小技巧总结

关于 Python Requests ,在使用中,总结了一些小技巧把,分享下. 1:保持请求之间的Cookies,我们可以这样做. import requests self.session = requests.Session() self.session.get(login_url) # 可以保持登录态 2:请求时,会加上headers,一般我们会写成这样 self.session.get(url, params, headers=headers) 唯一不便的是之后的代码每次都需要这么写,代码

教你一个vue小技巧,一般人我不说的

本文由云+社区发表 1. 需求 最近的项目中,需要实现在vue框架中动态渲染带提示框的单选/多选文本框,具体的效果如下图所示,在输入框聚焦时,前端组件通过接收的kv参数渲染出选项,用户点击选项,可以将选择的选项的key拼装到输入框中,同时允许用户自由输入. 由于项目中使用的element-ui,首选考虑使用组件的input和select组件,然而实际使用中发现框架提供的组件不能很好满足此需求.例如,使用带输入建议的input组件,能够实现提示框和单选,但并不能方便地实现多选(重复选择会覆盖输入框