我正在使用Aquery getCachedImage来缓存来自我服务器的图片网址,但我遇到了一些问题。如果我在同一个函数中运行它两次并且第一个缓存成功但第二个将返回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());
}
(第一次) 图片:android.graphics.Bitmap@438e79d8 小图片:null
(第二次) 图片:android.graphics.Bitmap@42665560 小图片:android.graphics.Bitmap@42891098
我希望结果可以在第一次而不是第二次缓存。为什么第一次第二次图像无法缓存?但第二次它能否缓存它?有人可以帮忙吗?
答案 0 :(得分:0)
确保从网址获取图片时允许缓存选项:
boolean memCache = false;
boolean fileCache = true;
aq.id(R.id.image1).image("http://www.vikispot.com/z/images/vikispot/android-w.png", memCache, fileCache);