1

我正在使用 Aquery getCachedImage 从我的服务器缓存图像 url,但我遇到了一些问题。如果我在同一个函数中运行它两次并且第一个缓存成功但第二个将返回 null。当我关闭该页面并再次运行并且都成功时,我想确保每次运行时,它都可以缓存图像,下面是我的代码

boolean memCache = false;
boolean fileCache = true;

Bitmap dealimage = null;
Bitmap dealimage2 = null;

String dealImg = null;
String dealImg2 = null;

try {
JSONArray jsonarray = new JSONArray(imgStr);
for (int i = 0; i < jsonarray.length(); i++) {

    JSONObject jobj = jsonarray.getJSONObject(i);

    dealImg = jobj.getString("IMG1").toString();

    dealimage = aq.getCachedImage(dealImg);
    System.out.println("Image : " + dealimage);

    dealImg2 = jobj.getString("IMG12").toString();

    dealimage2 = aq.getCachedImage(dealImg2);
    System.out.println(" Second Image : " + dealimage2);
    }
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}

结果 LogCat

(第一次)图片:android.graphics.Bitmap@438e79d8 小图片:null

(第二次) 图片:android.graphics.Bitmap@42665560 小图:android.graphics.Bitmap@42891098

我希望结果都可以在第一次而不是第二次缓存。为什么第一次无法缓存第二张图片?但是第二次它都能够缓存它吗?任何人都可以帮忙吗?

4

1 回答 1

0

确保从 url 获取图像时允许缓存选项:

boolean memCache = false;
boolean fileCache = true;

aq.id(R.id.image1).image("http://www.vikispot.com/z/images/vikispot/android-w.png", memCache, fileCache);

参考:http ://code.google.com/p/android-query/wiki/ImageLoading

于 2014-11-28T05:35:59.120 回答