我正在使用 picasso 库为我的应用加载图像。但我不怎么用毕加索库实现我自己的磁盘(sdcard)缓存。
问问题
19388 次
2 回答
36
Picasso 使用 HTTP 客户端进行磁盘缓存,如果已经配置,它将使用它而不是安装自己的客户端。
对于内置 UrlConnection,安装缓存的文档在这里:https ://developer.android.com/reference/android/net/http/HttpResponseCache.html
如果您使用 OkHttp,那么您只需调用 setCache: http ://square.github.io/okhttp/2.x/okhttp/com/squareup/okhttp/OkHttpClient.html#setCache-com.squareup.okhttp.Cache-
于 2013-09-23T16:44:35.190 回答
5
@Dax,要使用 OkHttp 将文件保存在自定义缓存目录中,我会编写如下代码 -
OkHttpClient okHttpClient = new OkHttpClient();
File customCacheDirectory = new File(Environment.getExternalStorageDirectory().getAbsoluteFile() + "/MyCache");
okHttpClient.setCache(new Cache(customCacheDirectory, Integer.MAX_VALUE));
OkHttpDownloader okHttpDownloader = new OkHttpDownloader(okHttpClient);
Picasso picasso = new Picasso.Builder(mainActivity).downloader(okHttpDownloader).build();
picasso.load(imageURL).into(viewHolder.image);
希望这可以帮助。
于 2015-10-22T08:01:29.220 回答