首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDWebImage change cacheMaxCacheAge

SDWebImage change cacheMaxCacheAge
EN

Stack Overflow用户
提问于 2015-02-16 19:46:57
回答 3查看 1.1K关注 0票数 4

如何在使用cacheMaxCacheAge时更改静态值SDWebImage?什么方法是好的?我需要缓存图像5分钟。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-05 13:16:29

SDWebImage 5.0+ maxCacheAge中更名为maxDiskAge。您可以像这样以秒为单位设置最大缓存时间。

Objetive-c

代码语言:javascript
复制
[SDImageCache sharedImageCache].config.maxDiskAge = 60 * 5; //5 minutes

Swift 4+

代码语言:javascript
复制
SDImageCache.shared.config.maxDiskAge = 60 * 5 //5 minutes

参考链接:https://github.com/SDWebImage/SDWebImage/wiki/5.0-Migration-guide

票数 6
EN

Stack Overflow用户

发布于 2018-05-18 13:02:56

SDWebImage提供了maxCacheAge属性来设置以秒为单位的最大缓存时间。我们可以使用共享实例方法访问此属性。

代码语言:javascript
复制
[SDImageCache sharedImageCache].config.maxCacheAge = 60 * 5; //5 minutes
票数 1
EN

Stack Overflow用户

发布于 2022-09-06 11:46:43

SWIFT 5+,SDWebImage 5.13 +tvOS15+和其他平台

我发现,在用maxDiskAge存储图像时,仅仅在tvOS 15+上设置新的SDImageCache.shared.store属性是不够的,但是您确实需要手动删除带有deleteOldFiles()函数的旧缓存。这种情况发生在我的例子中,尽管旧缓存删除的执行据称是由库本身在终止应用程序as specified in following SO post之后完成的。这可能只是tvOS的情况,但我不完全确定这个问题是否也存在于另一个平台上。以下是对我有效的解决方案:

删除过期缓存:

代码语言:javascript
复制
SDImageCache.shared.deleteOldFiles()

设置以秒为单位的最大缓存磁盘时间:

代码语言:javascript
复制
SDImageCache.shared.config.maxDiskAge = 100000

将图像存储到磁盘:

代码语言:javascript
复制
SDImageCache.shared.store(image, forKey: key, toDisk: true)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28549211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档