最近自己在写一个类似于糗事百科的app,遇到了listview卡顿的问题。于是按照网上的答案使用了一下方法:
1.通常有一个内部类classViewHolder,这个ViewHolder,用来标识view中一些控件,方便进行一些事件相应操作的设置,比如onClick等等,这样可以不用每次都要findViewById了,减少了性能的消耗。同时重用了convertView,很大程度上的减少了内存的消耗。
if(convertView==null){
convertView=LayoutInflater.from(context).inflate(R.layout.section_list_item1,null);
holder=newViewHolder();
holder.tv_name=(TextView)convertView.findViewById(R.id.contact_contactinfoitem_tv_name);
holder.tv_phone=(TextView)convertView.findViewById(R.id.contact_contactinfoitem_tv_phoneNum);
convertView.setTag(holder);
}
else
{
holder=(ViewHolder)convertView.getTag();
}
2.使用ImageLoader加载图片资源。
以上两种方法都使用了,用的是自定义BaseAdapter,自定义布局,之后滑动还是有些卡顿,我使用的是真机调试,机型为小米2s。
在一番折腾还是没有解决的情况下拔下了手机,结果所有的问题都因能迎刃而解,拔下手机时,listview滑动非常流畅。
具体原因目前尚不清楚,记录一下,避免下次忘记,遇到同样的问题。