gpt4 book ai didi

android - JakeWharton 的 DiskLruCache - 如何使用 Volley 实现?

转载 作者:行者123 更新时间:2023-11-29 15:18:18 33 4
gpt4 key购买 nike

这与 this 有关关于 Volley 图像缓存的问题。所以,现在我想实现 DiskLruCache,但我不确定该怎么做。

我从 github 下载了 Jar 文件并将其添加到我的项目中。

接下来我该做什么?如何更改 Volley 现有代码并集成 DiskLruCache?

现有代码:

初始化 Volley:

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 链接起来。

最佳答案

ImageLoader 需要一个 ImageCache,要使用 DiskLruCache,您必须在它上面有一个实现 ImageCache 的包装器。 VolleyImageCacheExample (推荐的做法是使用基本内存LRU缓存作为L1缓存,磁盘缓存作为L2)

关于android - JakeWharton 的 DiskLruCache - 如何使用 Volley 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21872028/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com