【发布时间】:2015-03-10 11:35:56
【问题描述】:
我的静态列表由图像和数据组成。我在后台异步加载图像。仍然加载图像会降低滚动性能。如果我注释掉图像加载代码列表滚动非常快。如何在加载时提高滚动性能列表中的图像?下面是我用于加载图像的代码-
public View getView(final int i, View v, ViewGroup viewGroup) {
thumbnailImageView = (ImageView) view.findViewById(R.id.video_thumbnail);
final String id = video.getId();
String thumbnailPath = FileUtils.getCachedFileName(0,video.getId());
BitmapWorkerTask task = new BitmapWorkerTask(thumbnailImageView);
task2.execute(thumbnailPath);
.
.
}
class BitmapWorkerTask extends AsyncTask<String, Void, Bitmap>
{
private final ImageView imageViewReference;
public BitmapWorkerTask(ImageView imageView)
{
imageViewReference = imageView;
}
@Override
protected Bitmap doInBackground(String... urls) {
return BitmapFactory.decodeFile(urls[0]);
}
@Override
protected void onPostExecute(Bitmap bitmap)
{
imageViewReference.setImageBitmap(bitmap);
}
}
【问题讨论】:
-
显示你的适配器代码!!!
-
@Chandrakanth 上面写的代码只在适配器中
-
您必须为位图维护 LruCache...
-
@Chandrakanth 你能帮我写代码吗?它将如何解决我的问题?
-
从哪里获得 getView() 中的“userProfileImageView”引用?提供完整的适配器类代码..让我帮你!!!
标签: java android performance android-listview image-loading