如何仅在recyclerview中加载新图像而不加载旧图像?

时间:2015-08-31 18:50:17

标签: android android-recyclerview

我在Android中使用回收站视图现在我面临的问题是每当我滚动之前的图像再次从服务器加载但是因为我已经加载它们一次我不想一次又一次地从服务器获取它们有人可以帮我解决一下如何只从服务器中加载适配器内新获取的图像。

我的代码我使用picasso库在recyclerview将数据绑定到recyclerview时加载图像

@Override
    public void onBindViewHolder(ViewHolder holder, int position) {

        Log.d("mmmm", image_url.get(position));
        Log.d("scroll", "fir aya");
        Picasso.with(context).load("http://192.168.0.15:1337/offers/" + image_url.get(position)).into(holder.imageView);

    }

2 个答案:

答案 0 :(得分:2)

Picasso有自动缓存,我认为你无法配置它。 UniversalImageLoader为您提供配置缓存设置的选项,也许您应该尝试一下。

答案 1 :(得分:1)

Picasso具有自动缓存功能,但您也可以使用以下代码配置其缓存大小

Picasso picasso = new Picasso.Builder(context).memoryCache(
        new LruCache(cacheSize)).build();
        int memClass = ((ActivityManager) mApplicationContext
        .getSystemService(Context.ACTIVITY_SERVICE))
        .getLargeMemoryClass();
        int cacheSize = 1024 * 1024 * memClass / 4;