这与有关 Volley Image 缓存的问题有关。所以,现在我想实现 DiskLruCache,但我不确定如何做到这一点。
我从github下载了 Jar 文件并将其添加到我的项目中。
接下来我该怎么办?如何更改 Volley 现有代码并集成 DiskLruCache?
现有代码:
初始化排球:
queue = Volley.newRequestQueue(getActivity());
imageLoader = new ImageLoader(queue, new ImageLoader.ImageCache() {
private final LruCache<String, Bitmap> mCache = new LruCache<String, Bitmap>(
10);
public void putBitmap(String url, Bitmap bitmap) {
mCache.put(url, bitmap);
}
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
});
从服务器获取响应并解析:
jsArrayRequest = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
if (Const.DEBUGGING) {
Log.d(Const.DEBUG,
"Response => " + response.toString());
Log.d(Const.DEBUG, "Length = " + response.length());
}
parseResponse(response, url);
setRetrivalSuccess();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (Const.DEBUGGING) {
Log.d(Const.DEBUG, "Volley Error");
Log.d(Const.DEBUG, "Error = " + error.toString());
}
((MainFragmentActivity) getActivity())
.setSupportProgressBarIndeterminateVisibility(false);
}
});
queue.add(jsArrayRequest);
我在 SO 上看到的例子很少,但我不明白如何将 Volley 与 DiskLruCache 链接起来。