【问题标题】:Clearing cache in SDWebImage for iOS app清除 iOS 应用程序的 SDWebImage 中的缓存
【发布时间】:2012-12-14 04:13:08
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 请不要在有关获得“快速”帮助的问题中提及。人们在这里无偿提供帮助。如果您有时间尺度问题,请付钱给某人。 (标题已编辑)

标签: iphone ios caching sdwebimage


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    只是跟进以防有人发现此搜索。要解决此问题,您需要确保将完整的 SDWebImage 包移动到您的框架文件夹中。

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

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

    祝你好运!

    【讨论】:

    • 我以前做过,这是我能找到改变缓存的唯一方法。但是,您应该详细说明需要更改代码的哪一部分,以使其成为对未来访问者有用的答案。
    猜你喜欢
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    相关资源
    最近更新 更多