毕加索只缓存原始下载图像的大小吗?

GPa*_*ack 2 android picasso

我读了一些关于这个问题的内容,但我也不明白:

1:如果我.resize(x,y)的代码中有图像,那么Picasso只会缓存原始大小或调整大小的大小吗?

2:内存和磁盘缓存是否存储不同的缓存密钥?

Jak*_*ton 8

是的,不是.

毕加索缓存重新调整大小的图像.如果您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客户端下载或从本地缓存中提供服务.