我有一个非常简单的列表,每行有3个textview字段.我们使用来自后台webservice调用(AsyncTask)的数据每2秒左右更新一次它们的值
我们将即将到来的值与当前值进行比较,在Adapter上相应地更新它们,最后如果需要调用notifyDataSetChanged()
问题是,当我们一次获得超过3个更新行时,重绘变得非常慢,从而挂起整个UI.当然,我们使用所有ListView众所周知的优化,例如EfficientAdapter方法(setTag()和holder),以及getViewTypecount()/ getItemViewType().我们还尝试使用layoutopt尽可能地优化我们的界面,并尝试避免wrap_content宽度和高度来减轻负担.
我们不会对我们的更新执行昂贵的操作,只是标准的东西:更改TextView文本,textcolor和backgroundcolor值.
我能看到的唯一奇怪的事情就是每行调用getView()3-4-5次,虽然我已经阅读了所有那些Romain的消息[1],告诉他们没有错
关于如何加快速度的任何想法或提示?
非常感谢你!