我读了一些关于这个问题的内容,但我也不明白:
1:如果我.resize(x,y)
的代码中有图像,那么Picasso只会缓存原始大小或调整大小的大小吗?
2:内存和磁盘缓存是否存储不同的缓存密钥?
是的,不是.
毕加索缓存重新调整大小的图像.如果您resize(50, 50)
两次调用URL,则第二个请求将使用缓存在内存中的已调整大小的图像.在这种情况下,HTTP客户端将永远不会再次看到URL.
Picasso使用的HTTP客户端将缓存原始图像(如果配置为这样,并且标题允许).如果您调用resize(50, 50)
URL,则HTTP客户端会将原始文件缓存在磁盘上,这样,如果您调用resize(100, 100)
该URL,则HTTP客户端无需再次获取该图像.
HTTP客户端缓存对Picasso完全不透明.它没有看到或控制其内容.Picasso对内存缓存中不可用的每个URL发出HTTP请求,HTTP客户端是否完全控制HTTP客户端下载或从本地缓存中提供服务.