getView()原理
来源:互联网 发布:python pack 编辑:程序博客网 时间:2024/04/27 21:01
public View getView(int position, View convertView, ViewGroup parent)
ListView控件中的viewitem数目只能刚好充满屏幕,翻页的过程中它只是用旧的view显示新的数据 ,所以 convertView参数 有可能是null 有可能不是null .
[1]ListView asks adapter “give me a view” (getView) for each item of the list.(通过getView来获取每个item)
[2]A new View is returned and displayed(获取到后返回显示)
那么如果我们有大量的数据需要显示的时候,每个Item都去重复执行getView中的创建新的View的动作吗?这样做会耗费大量的资源去执行重复的事情,实际上Android为我们提供了一套重复利用的机制叫做“Recycler”:
原理简单描述下就是这样:
在一个完整的ListView第一次出现时,每个Item都是Null的,getView的时候会跑到需要inflate一个Item的代码段,假设整个view只能最多显示10个item,那么当滑动到第11个Item的时候,第一个item会放入“recycler”,如果第11个Item和放入“Recycler”的item的view一致,那么就会使用"Recycler"里面的Item来显示,从而不用再重复inflate一次,这样大大节省了创建View的工作,在需要显示大量数据时显得尤为重要。
工作原理的示意图如下:
等所有的item,一共10个都显示之后,不管上下滑动都再也不是NULL了,说明这个时候都是使用Recycle里面的view,而不会再重新inflate了,显然这样节省很多重复的操作。
- getView()原理
- GetView()原理
- GetView()原理
- getView的原理
- getView()的原理
- android:ListView中的getView原理
- ListView中getView的原理
- android:ListView中的getView原理
- android:ListView中的getView原理
- ListView中getView()的原理
- getview
- android开发--ListView中的getView原理
- ListView的getView方法原理解析
- getView()执行次数问题
- android Listview的getView和convertview原理解析(三)
- android使用ListView和Adapter.getView Recycler的工作原理
- android使用ListView和Adapter.getView Recycler的工作原理
- ListView中adapter的getView()复用item原理
- linux 字节截取命令之cut
- 设备驱动--定时、延时操作
- 最简单的基于DirectShow的示例:视频播放器
- 高级图形编程(基于opengl)5
- 最近看到的几个提供大数据分析服务以及机器学习API的公司
- getView()原理
- ArcGIS10.2、ArcEngine10.2安装
- For fun, for game! —— 总结最近几年的致命错误
- 黑马程序员Objective-C笔记:set方法,get方法,成员变量的命名
- HDU 5155 Harry And Magic Box(容斥+组合数学)
- cocos2dx 3.1.1 box2d.h : No such file or directory
- 莫忘初衷
- hdu 5154 Harry and Magical Computer(拓扑排序,dfs判环)
- PHP的变量与常量