在Android开发中,ListView是一个比较常用的控件,他以列表的形式展示数据内容,并且能够根据列表的高度自适应屏幕显示。
当ListView控件上加载的item过多并快速滑动该控件时,界面会出现卡顿的现象,现象原因如下。
1.滑动屏幕时,不停创建Item对象。
2.不断执行findViewById()方法初始化控件。
由于这两点我们需要优化ListView控件,目的是使ListView控件快速滑动时不再重复创建Item。
1.创建ViewHolder类。将需要加载的控件变量放入该类中。
2.在getView方法中,第2个参数convertView代表的就是滑出屏幕的Item对象。如果第一次加载getView()方法时,会创建item对象,当滑动ListView控件时,滑出的Item对象会以缓存的形式存在,而converView代表的就是缓存的Item对象,我们可以复用converView对象从而减少Item对象的创建。