首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何快速定期清除NSCache?

如何快速定期清除NSCache?
EN

Stack Overflow用户
提问于 2016-09-16 05:41:57
回答 1查看 1.8K关注 0票数 2

我在努力想出一个很好的解决方案。因此,在我的应用程序中,我有一个加载用户数据的UITableView,每个单元格都有一个配置文件图像UIImageView。因此,每次它在单元格中循环时,它都会为每个用户分别下载配置文件图片。因此,我开始使用NSCache来存储配置文件图片。这起了很大的作用,现在这种滞后已经消失了。

但是,如果有人更改了他们的个人资料图片呢?配置文件图片上传到后端,每个用户一张。我使用用户ID来引用这些配置文件图片。如果有人更改他们的配置文件图片,它将只是加载我在缓存中的图像,而不是他们的新图像。所以,我想让IOS设备上的整个缓存被清除一次,大约每3小时一次。能治好一切。如何隔一段时间清除整个NSCache?

TL;DR:

我如何在时间间隔内清除整个NSCache的应用程序?(例如:每3小时清除一次应用程序缓存)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-16 05:53:41

您可以使用app委托方法,并在每次用户进入应用程序前景时实现一次检查。您可以保留一个变量,该变量保存用户上次打开应用程序的时间,如果当前时间是3个小时后,则清除缓存。

如评论中所述,大多数用户不会有3个小时的会话。

顺便提一句:大多数用户可能会理解图片没有立即更新,例如,我知道twitter需要一段时间才能更新。在我的应用程序中,只要应用程序完全退出,我就不需要缓存,而是重新下载所有图像。如果在将图像放在服务器上之前对其进行压缩,这不会对数据使用造成不良影响。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39524422

复制
相关文章

相似问题

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