我有ListView
包含大图片 - 让我们说它充满了手机的屏幕截图。当我滚动ListView
时,每次新View
变得可见时都会出现打嗝 - 据我所知,由于设置了图像。
我认为这可能是由于Bitmap
封送,所以我尝试从Bitmap
中的资源创建AsyncTask
,然后将其设置为ImageView
&# 39; UI线程上的源位图,在ListView
的滚动中仍然存在明显的打嗝和丢帧。
使用较小的图像时,这似乎不是问题,即使它们适合整个ImageView
。不幸的是,我试图显示的图像基本上是截图,因此几乎与手机屏幕的大小一样大。
在我开始探索ImageView
的内脏之前,有什么办法可以避免这种情况吗?显然,在UI线程上正在进行某些操作,这取决于图像的大小,但是可以避免/拖拽到另一个线程,还是以其他方式进行优化?
答案 0 :(得分:0)
尝试使用自定义列表视图适配器类中的ImageView
类在post()
方法中设置Handler
源。
e.g。
new Handler().post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
imageView.setImageResource(R.drawable.demoImage);
}
});
希望这会有所帮助。