我正在使用picasso库将一组图像从网络加载到我的应用程序中。
Picasso.with(this).load(url.getString(url.getColumnIndex(mediaURL))+media.getString(0));
如何通过picasso获取缓存图像列表?
在我必须再次加载图像之前,图像会在缓存中保留多长时间?
答案 0 :(得分:3)
Picasso本身不支持磁盘缓存。
它使用内存缓存,只要你的应用程序存在,它就会占用大约15%的可用空间。
对于磁盘缓存,它依赖于您正在使用的HTTP客户端。例如,如果您将其与OkHttp一起使用,则大多数时候磁盘缓存大小为50 MB(它们的目标是磁盘空间的2%,范围为5-50MB)。
因此,图像将在缓存中保留一次(使用DiskLruCache,这意味着首先删除缓存中最近最少使用的图像),但您无法控制它。
如果您需要访问图片,可以在初始化Picasso时传递自定义缓存文件的位置和大小:
new Picasso.Builder.with(context).downloader(new OkHttpDownloader(cacheFile,cacheSize))。build();
稍后您可以随时访问缓存文件和图像。