Android ViewPager 页面生成缓冲保留
来源:互联网 发布:张馨予的淘宝店铺名字 编辑:程序博客网 时间:2024/06/06 16:30
Android ViewPager会有很多Pages,在生成ViewPager的时候并不会一次性把所有Pages OnCreate。默认的机制是把当前页和当前页旁边的Page OnCreate。
这种机制是为了节省空间和开销的,但是也会造成我们程序一些不预期发生的事情,譬如页面滑动不流畅,卡顿乃至APP宕机。
为了解决这个问题,我们可以使用如下两个函数来适配我们的程序。
/** * Returns the number of pages that will be retained to either side of the * current page in the view hierarchy in an idle state. Defaults to 1. * * @return How many pages will be kept offscreen on either side * @see #setOffscreenPageLimit(int) */ public int getOffscreenPageLimit() { return mOffscreenPageLimit; }
/** * Set the number of pages that should be retained to either side of the * current page in the view hierarchy in an idle state. Pages beyond this * limit will be recreated from the adapter when needed. * * <p>This is offered as an optimization. If you know in advance the number * of pages you will need to support or have lazy-loading mechanisms in place * on your pages, tweaking this setting can have benefits in perceived smoothness * of paging animations and interaction. If you have a small number of pages (3-4) * that you can keep active all at once, less time will be spent in layout for * newly created view subtrees as the user pages back and forth.</p> * * <p>You should keep this limit low, especially if your pages have complex layouts. * This setting defaults to 1.</p> * * @param limit How many pages will be kept offscreen in an idle state. */ public void setOffscreenPageLimit(int limit) { if (limit < DEFAULT_OFFSCREEN_PAGES) { Log.w(TAG, "Requested offscreen page limit " + limit + " too small; defaulting to " + DEFAULT_OFFSCREEN_PAGES); limit = DEFAULT_OFFSCREEN_PAGES; } if (limit != mOffscreenPageLimit) { mOffscreenPageLimit = limit; populate(); } }
0 0
- Android ViewPager 页面生成缓冲保留
- android滑动页面ViewPager学习
- 页面缓冲
- Android(ViewPager中的ViewPager)ViewPager FragmentPagerAdapter嵌套子ViewPager FragmentPagerAdapter页面不能正常显示
- Android之ViewPager实现欢迎引导页面
- android ViewPager实现页面左右切换效果
- android ViewPager多页面手势滑动
- android中ViewPager页面滑动事件OnPageChangeListener
- Android--多页面管理控件之ViewPager
- android中使用viewpager延迟加载页面
- Android开发之ViewPager显示页面切换
- android之viewpager进度条跟随页面滑动
- Android代码库-ViewPager滑动导航页面
- android ViewPager页面左右滑动切换
- android UI用ViewPager实现引导页面
- Android ViewPager多页面滑动…
- android(8) ViewPager页面滑动切换
- Android使用ActionBar和ViewPager切换页面
- 七、用随机梯度下降法(SGD)做线性拟合
- 八、用scikit-learn做特征提取
- 九、二元分类效果的评估方法
- Pandas读取MySQL数据到DataFrame
- 十、用scikit-learn的网格搜索快速找到最优模型参数
- Android ViewPager 页面生成缓冲保留
- Tensorflow 数据预读取--Queue
- HDU 3652 数位DP变形
- 【JAVA笔记】JAVA后端实现统一扫码支付:微信篇
- PAT A1052. Linked List Sorting (25)
- 深入右值引用,move语义和完美转发
- 十一、用scikit-learn做聚类分析
- PHP 错误处理
- oracle 性能调整综述