我有listview和自定义适配器,它使用我自己的对象来绘制listitem。
另一方面,我有一个实时收集信息的服务,每0.1秒我的活动都会调用服务信息,而不是通过调用myCustomAdapter.notifyDataSetChanged()
方法重绘列表视图。
这对我不好,因为对象非常大,我的UI线程冻结了一段时间,可能不到0.01秒,但仍然感觉用户体验不佳。
我更新的资源是由画布中的自定义绘图类绘制的一个圆。你们中的任何人都知道如何处理这个问题吗?有没有办法在不停止我的UI线程的情况下更新数据和重绘listview?
答案 0 :(得分:3)
你应该尝试重用你的convertView,如下所示:
public View getView (int position, View convertView, ViewGroup parent){
//inflate the view if it is null
if( convertView == null ){
convertView = inflater.inflate(R.layout.my_list_item, parent, false);
}
//make the changes on your convertView that are changed from row to row,
//such as a text in a TextView
return convertView;
}