相信大家在很多时候都会用到ListView这个控件,因为确实是用的很多很多,但是有木有遇到过当数据很多很多的时候,往下滑ListView时有时候会卡顿,这就需要我们来优化它了。
ListView优化主要有下面几个方面:
1、convertView重用
2、ViewHolder的子View复用
3、缓存数据复用
一、convertView重用
首先讲下ListView的原...
分类:
移动开发 时间:
2015-05-10 15:51:02
阅读次数:
212
在使用Listview或GridView的时候,往往需要自定义数据适配器,一般都要覆写getView(),在该方法中有一个convertView参数,该参数就是用来加载数据时的View。在使用Listview或GridView的时候,往往需要自定义数据适配器,一般都要覆写getView(),在该方法...
分类:
移动开发 时间:
2015-05-08 12:41:32
阅读次数:
169
前言 在开发APP的过程中,攻城狮少不了要跟ListView、GridView这些组件眉来眼去,暗送几波秋波。自然原生态美人BaseAdapter更是程序员的最爱,有了它,我们想怎么干就能怎么干,嘿嘿,你懂的O(∩_∩)O哈哈~ 但是,每次写一个BaseAdapter,我们都很自觉的给他写一个V.....
分类:
移动开发 时间:
2015-05-05 01:18:57
阅读次数:
136
【前言】 我们一般编写listView的时候顺序是这样的: 需要展示的数据集List 为这个数据集编写一个ListView 为这个ListView编写一个Adapter,一般继承自BaseAdapter 在BaseAdapter内部编写一个ViewHolder类,对应ListView里面的item控...
分类:
移动开发 时间:
2015-05-04 20:11:06
阅读次数:
264
viewholder的作用是减少findViewById的调用,将控件的引用存入,通过steTag()来调用。首先判断convertView有没有内容,没有就定义一个ViewHolder对象,将布局存入ViewHolder中,通过convertView.setTag(ViewHolder对象)调用。...
分类:
其他好文 时间:
2015-05-04 11:37:42
阅读次数:
130
ViewHolder.javapackage cn.edu.bzu.util;import android.content.Context;import android.util.SparseArray;import android.view.LayoutInflater;import androi...
分类:
其他好文 时间:
2015-05-03 13:13:59
阅读次数:
133
"A flexible view for providing a limited window into a large data set."可以说是ListView的升级版,ListVie中我们需要自己写ViewHolder,当然你也可以不写,是在RecylerView中,是要让写的哟~Recyc...
分类:
移动开发 时间:
2015-05-03 13:12:39
阅读次数:
728
【ps:CommonAdapter基于ViewHolder工具类】CommonAdapter.javapackage cn.edu.bzu.util;import android.content.Context;import android.view.LayoutInflater;import an...
分类:
其他好文 时间:
2015-05-03 13:11:46
阅读次数:
146
对于 ListView 的使用,他有两个重点的部分,一个是下拉刷新和加载更多,这个今天我们不讲,另外一个是 BaseAdapter 的使用,这个是今天的主角,BaseAdapter 中又有 ViewHolder 模式来实现缓存视图继承BaseAdapter类,实现以下几个方法getCount() -...
分类:
其他好文 时间:
2015-04-29 19:39:21
阅读次数:
142
在adapter中通过使用静态内部类(viewholder)缓存组件的引用来防止ListView刷新时重新LayoutInflater跟findViewById从而达到优化的目的。示例如下:@Override public View getView(final int position, Vi...
分类:
移动开发 时间:
2015-04-28 11:06:26
阅读次数:
137