Android开发之ViewHolder学习笔记
BaseAdapter是使用得比较多的一个类适配器,通过重写getView方法,展示自定义视图,如何优化getView方法是程序员讨论的热点,最近了看了一篇TeachCourse的文章,使用ViewHolder类可以很好优化适配器的性能,原理:每次加载getView视图,只缓存第一次可见的getView视图,以后每次调用缓存,更新getView视图中数据达到优化性能目的。

2、方案一、初学者经常使用的方法,方法中不使用ViewHolder缓存视图,首先初始化视图对象,每次初始化getView方法中的View对象,这样会创建很多很多个实例,可能造成内存的溢出,更新数据的速度变得比较慢,不推荐使用,代码如下:


5、三种方法中,现在性能上推荐使用ViewHolder,第一步定义内部类,第二步判断convertView是否为第一次加载,如果是第一次加载就初始化一次ViewHolder类,并设置ViewHolder属性值(声明的控件,作为内部类属性),否则根据标签中获取缓存的ViewHolder对象,再分别给ViewHolder属性设置值(即填充数据),这里需要注意是如果使用setTag有多个标签,使用带参数的setTag(mName,mView)的方法,例如方案三

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:48
阅读量:63
阅读量:55
阅读量:53
阅读量:63