清除SDWebImage for iOS app中的缓存

时间:2012-12-28 23:53:22

标签: iphone ios caching sdwebimage

捂脸。我一直在使用Github图像下载器来显示远程图像。 This is SDWebImage。我一直在玩这个一个半小时,我完全迷失了,如果有人能帮助我解决这个问题,我将永远感激不尽。

基本上,在框架的SDImageCache.h文件中,它设置为缓存图像一周。如果您尝试频繁更新图像,则会出现问题,因为如果图像已经缓存,则无法下载。

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

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

关于我做错的任何建议?这是我的实现文件的屏幕截图,如果这有帮助!这让我疯了。谢谢!

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

2 个答案:

答案 0 :(得分:1)

如果有人发现此搜索,请立即跟进。要解决此问题,您要做的是确保将完整的SDWebImage包移动到框架文件夹中。

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

此外,如果您在Github上查看同一项目,您实际上可以安装一个“清除缓存”栏,该栏使用SDWebImageManager使用户能够清除缓存。在我的特定实例中,这非常有用。

祝你好运!

答案 1 :(得分:0)

我不知道在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]