1

在我的Android应用程序中,我使用通用图像加载器库来显示来自GridView中SD卡的照片。我还设置了cacheInMemory(true)(如:UIL)。GridView缩略图在滚动时刷新

为了显示图片我使用ArrayHapter与ViewHolder模式。

@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; 
} 

当通过图书馆滚动,滚动过去他们时再缩略图刷新每次滚动过去他们的时间,令人耳目一新。这对用户来说不是很舒服。我想将图像保存到内存并快速加载。

可能吗?

+0

尝试使用:https://github.com/nostra13/Android-Universal-Image-Loader –

回答

0

我添加了一些其他PARAMS到UIL:

.imageScaleType(ImageScaleType.EXACTLY)

.bitmapConfig(Config.RGB_565)

.memoryCacheSizePercentage(50)

config它看起来不错。