[英]Clearing cache in SDWebImage for iOS app
Facepalm。 我一直在使用Github图像下载器来显示远程图像。 这是SDWebImage 。 我已经玩了一个半小时,显然我完全迷失了,如果有人可以帮助我解决这个问题,我将永远感激不已。
因此,基本上,在框架的SDImageCache.h文件中,它设置为将图像缓存一周。 如果您尝试频繁更新图像,那将是有问题的,因为如果图像已被缓存,则它不会下载。
在Stack Overflow上,我发现有很多人遇到同样的问题,但是到目前为止,解决方案还没有奏效。 幸运的是,想到这个的人发布了他的解决方案以清空图像缓存:调用“ [SDWebImageManager.sharedManager.imageCache clearMemory]”。
我将该方法放在主视图控制器的.m文件中,希望它可以在调用图像后清除缓存,以便对其进行更新。 没有骰子。 我也在ViewDidLoad之前尝试过,希望它可以清除图像并启动下载。 再没有运气了。
对我做错了什么建议吗? 如果有帮助,这是我的实现文件的屏幕截图! 这让我发疯。 谢谢!
如果有人发现此搜索,请进行后续跟踪。 要解决此问题,您要做的是确保将完整的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.