关键字:
- 如果自定义 SDWebImage 的 Key
- 如何修改 SDWebImage 缓存的 Key
- 去掉 Url 后面的参数作为 SDWebImage 缓存的 Key
解决方法:
SDWebImage 默认是以图片的 Url 地址做为缓存的 Key,这样当我们请求同一个 Url 的图片地址时,就会获取缓存中的图片,但是我们服务器为了防止盗链,即使是同一张图片,但是它的 Url 也可能改变,这个时候如果再用 SDWebImage 默认的缓存策略就行不通了,所以我们需要自定义缓存策略,也就是不以 Url 做为缓存的 Key。
// 以下演示了,如果去掉 Url 后的参数,做为缓存的 Key
[[SDWebImageManager sharedManager] setCacheKeyFilter: ^(NSURL *url) {
url = [[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path];
return [url absoluteString];
}];