SDWebImage加载不同图片但是图片的URL是同一个,图片刷新失败

同遇到这个问题:
参考:

iOS开发:SDWebImage加载不同图片但是图片的URL是同一个,图片加载失败

重点是在SDWebImageManager.m文件中,大概176行左右

在(利用SDWebImageRefreshCached)的基础上,修改SD库

if (image && options & SDWebImageRefreshCached) {
    // force progressive off if image already cached but forced refreshing
    downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload;
    // ignore image read from NSURLCache if image if cached but force refreshing
    downloaderOptions |= SDWebImageDownloaderIgnoreCachedResponse;
}

添加这一段代码// remove SDWebImageDownloaderUseNSURLCache flag downloaderOptions &= ~SDWebImageDownloaderUseNSURLCache;

if (image && options & SDWebImageRefreshCached) {
    // force progressive off if image already cached but forced refreshing
    downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload;


   没错就是这里啦    


    // ignore image read from NSURLCache if image if cached but force refreshing
    downloaderOptions |= SDWebImageDownloaderIgnoreCachedResponse;
}

if (image && options & SDWebImageRefreshCached) {
    // force progressive off if image already cached but forced refreshing
    downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload;
    // remove SDWebImageDownloaderUseNSURLCache flag
    downloaderOptions &= ~SDWebImageDownloaderUseNSURLCache;
    // ignore image read from NSURLCache if image if cached but force refreshing
    downloaderOptions |= SDWebImageDownloaderIgnoreCachedResponse;
}

第二种解决方法,是通过改变“额外的header”来实现的

iOS开发~SDWebImage是如何做到Url不变的情况下,更新图片内容的

第三种方法,就是比较原始的方法了

UIImageView异步加载网络图片

第四种方法(没缓存了,不是很建议)

    int i = arc4random() % 500000000;
    NSString *testImageUrl = [NSString stringWithFormat:@"%@%@%d",imgUrlStr,@"#",i];
    [_IMG sd_setImageWithURL:[NSURL URLWithString:testImageUrl] placeholderImage:[UIImage imageNamed:@"1.png"] options:SDWebImageRefreshCached];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容