问题:ListView下拉刷新时看上去非常的卡
解决方案:
在BaseAdapter的getView方法中,有三个参数
public View getView(int position, View convertView, ViewGroup parent)
该方法是绘制你的ListView的Item项的。第一个参数(position)代表当前item项的位置,第二个参数(convertview)代表你的item项。
问题的原因就出在convertView上。下面贴出两端代码,大家看看有什么不同
优化前的代码:
convertView = inflater.inflate(R.layout.pulldown_item, null);
优化后的代码:
if(convertView == null){
convertView = inflater.inflate(R.layout.pulldown_item, null);
}
从以上代码中大家可以看到,优化后的代码效率会比较高。
因为优化前的代码每次listview刷新都会重新创建一个convertView,而优化后的代码就不会出现这种情况,因此效率就会高很多