0
最近我遇到了一个奇怪的问题,当我使用名为Universal-Image-Loader的github库时。每个listview项目最多有三个imageview.when滚动listview显示图像,listview是如此不流畅。我阅读源代码,我发现它从后台线程加载位图,然后使用处理程序将位图发布到UI线程。所以我想知道是否因为我加载了许多位图和文章很多消息给ui线程,那么它会导致listview不流利。Android listview滚动不平滑,当我加载很多位图时
List<String> babySnapImgUrls = shopBean.babySnapImgUrls;
if (babySnapImgUrls != null) {
int size = Math.min(babySnapImgUrls.size(), 3);
for (int i = 0; i < size; i++) {
final ImageView snapView = mViewHolder.snapViews[i];
if(snapView.getVisibility() != View.VISIBLE)
snapView.setVisibility(View.VISIBLE);
//snapView.setImageDrawable(null); // Object url = mViewHolder.snapImageViewAwares[i].getWrappedView().getTag(); // String urlStr = ""; // if(url != null){ // urlStr = url.toString(); // }
//if(!babySnapImgUrls.get(i).equals(urlStr)) {
mViewHolder.snapImageViewAwares[i].getWrappedView().setTag(babySnapImgUrls.get(i));
// Log.e("koudai",ImageLoader.getInstance().)
displayImage(babySnapImgUrls.get(i), mViewHolder.snapImageViewAwares[i],
KoudaiDisplayImageOptions.DEFAULT_DISPLAY_IMAGE_OPTIONS);
//}
}
for (int i = size; i < 3; i++) {
if(mViewHolder.snapViews[i].getVisibility() != View.INVISIBLE)
mViewHolder.snapViews[i].setVisibility(View.INVISIBLE);
ImageLoader.getInstance().cancelDisplayTask(mViewHolder.snapImageViewAwares[i]);
}
}
你应该在这里发布一些代码,可能是你的适配器的代码。 – 2014-10-31 02:32:07
我有我的适配器的一些代码,但我不做其他的事情,除了我叫从库里来的方法。 – 2014-10-31 02:42:48
你是否回收了适配器中的视图? – 2014-10-31 02:45:54