所以我们要找到办法来利用convertView的这个特性。
首先解决convertView重复创建的问题。
我们可以先判断convertView是否为null,如果为null,再重新创建。
if(convertView == null){
convertView = LayoutInflater.from(context).inflate(R.layout.item_pratice, null);
}这解决了convertView重复创建的问题。
当我们要使用布局中的组件时,会先通过findViewById来声明组件,这在一般的页面中没问题,但如果是一个列表,就有问题了。
findViewById是很浪费时间的。
findViewById要遍历View的树形结构来找到对应的id,而且这个遍历是从头到尾,所以如果该View的层级比价复杂,这个查询就比较耗时了。
我们在布局文件中采用@+id的形式指定控件id,就会在R文件中生成一个id,也可以采用@id的形式,通过在ids文件中声明一个id。
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式