在 Android 中设置 'Image Caching'

Setting up 'Image Caching' in Android

我已经使用 AQuery 通过 URL 设置图像加载以将图像设置到我的 ListView 的 ImageViews。但是,每次我滚动图像时,图像都会刷新并重新加载。基本上,如果我看到一次图像然后向下滚动然后向上滚动,ImageViews 会再次被图像 填充,因此这对体验来说非常不方便。

在 Instagram 或 Facebook 中:图像加载后,它们是完整的,如果我滚动同一图像,ImageView 不会重新加载图像。我相信它已正确缓存。如何为我的 ListView 的 ImageView 设置缓存?

这是我的适配器代码:

AQuery aq;

public FeedAdapter(Activity a, ArrayList<ActivityTable> actList) {

    activity = a;
    inflater = (LayoutInflater) activity
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    this.actList = actList;
}

public View getView(int position, View convertView, ViewGroup parent) {

    View vi = convertView;
    final ActivityTable act = actList.get(position);
    aq = new AQuery(activity);

    holder.media = (ImageView) vi.findViewById(R.id.postphoto);

    try {
        aq.id(holder.media)
                .progress(R.id.progress)
                .image(act.getMediaURL(), false, true, 800,
                        R.mipmap.image_placeholder, preset,
                        AQuery.FADE_IN_FILE);
    } catch (Exception ex) {
    }
}

我已经用 aquery 尝试过这个东西,你使用的 Aquery 库维护缓存并根据我们的需要适当, 但是你必须对不同的图像使用不同的urls,这样最后一张图像就可以像你在instagram上所说的那样被更新。 我所知 :- 这是因为 android 查询检查图像的 url,如果不同则刷新新图像,否则从缓存中获取位图。

为图书馆做更多的工作,它有很多选择。 谢谢