我正在使用这样的截击。问题是,在我的例子中,Volley 只将图像缓存在内存中,而不是在磁盘上。如果我强制我的应用程序,所有缓存将从内存中删除。如何在内存和磁盘上都有缓存?
public ImageLoader getImageLoader() {
getRequestQueue();
if (mImageLoader == null) {
mImageLoader = new ImageLoader(this.mRequestQueue, new LruBitmapCache(getApplicationContext()));
}
return this.mImageLoader;
}
holder.picture.setImageUrl(url, MyApplication.getInstance().getImageLoader());
注意:我使用DiskLruCache
的是 Jake Wharton 编写的,一切正常,但是这样,缓存只存在于磁盘上。如果存在,我希望 Volley 从内存中获取位图,否则从磁盘中获取,如果 URL 没有缓存,则进行网络调用。