滚动时刷新 GridView 缩略图

GridView Thumbnails refreshed when scrolling

在我的 Android 应用程序中,我使用 Universal Image Loader 库在 GridView 中显示 SD 卡中的照片。我还设置了 cacheInMemory(true)(就像这里:UIL)。

为了显示图片,我使用带有 ViewHolder 模式的 ArrayAdapter。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    ViewHolder holder = null;

    File item = data.get(position);

    if (row == null) {
        holder = new ViewHolder();

        row = mInflater.inflate(layoutResourceId, null);

        holder.image = (ImageView) row.findViewById(R.id.picture);

        row.setTag(holder);
    } else {
        holder = (ViewHolder) row.getTag();
    }

    if (item.isFile()) {
      String uri = Uri.fromFile(f).toString();
      String decodedUri = Uri.decode(uri);

      Globals.ImageLoader.displayImage(decodedUri, holder.image);
    }

    return row;
}

在库中滚动时,每次滚动缩略图都会刷新,再次滚动缩略图时会刷新。这对用户来说不是很舒服。我想将图像保存到内存中并快速加载它们。

可能吗?

我向 UIL 添加了一些其他参数:

.imageScaleType(ImageScaleType.EXACTLY)

.bitmapConfig(Config.RGB_565)

.memoryCacheSizePercentage(50)

来自 config,看起来不错。