繁体   English   中英

清除SDWebImage for iOS应用程序中的缓存

[英]Clearing cache in SDWebImage for iOS app

Facepalm。 我一直在使用Github图像下载器来显示远程图像。 这是SDWebImage 我已经玩了一个半小时,显然我完全迷失了,如果有人可以帮助我解决这个问题,我将永远感激不已。

因此,基本上,在框架的SDImageCache.h文件中,它设置为将图像缓存一周。 如果您尝试频繁更新图像,那将是有问题的,因为如果图像已被缓存,则它不会下载。

在Stack Overflow上,我发现有很多人遇到同样的问题,但是到目前为止,解决方案还没有奏效。 幸运的是,想到这个的人发布了他的解决方案以清空图像缓存:调用“ [SDWebImageManager.sharedManager.imageCache clearMemory]”。

我将该方法放在主视图控制器的.m文件中,希望它可以在调用图像后清除缓存,以便对其进行更新。 没有骰子。 我也在ViewDidLoad之前尝试过,希望它可以清除图像并启动下载。 再没有运气了。

对我做错了什么建议吗? 如果有帮助,这是我的实现文件的屏幕截图! 这让我发疯。 谢谢!

http://i.imgur.com/pETYL.png

如果有人发现此搜索,请进行后续跟踪。 要解决此问题,您要做的是确保将完整的SDWebImage程序包移入您的Framework文件夹中。

此时,您可以找到一个WebImageCache.m文件,并根据您的特定缓存需求对其进行定制。

另外,如果您在Github上查看同一项目,则实际上可以安装一个使用SDWebImageManager来使用户清除缓存的“清除缓存”栏。 在我的特定情况下,这非常有用。

祝好运!

我不知道是在2012年还是2013年,但今天您可以简单地调用传递所需的选项,例如SDWebImageRefreshCached (尊重HTTP标头并刷新图像,即使它已经被缓存或使用相同的URL)或SDWebImageCacheMemoryOnly (不缓存到磁盘,仅缓存到内存)

例:

NSString *string = @"http://example.com/image.jpg";
[self.customImageView setImageWithURL:[NSURL URLWithString:string]
                     placeholderImage:nil
                              options:SDWebImageRefreshCached
                             progress:nil
                            completed:nil]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM