首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是NSCache?

什么是NSCache?
EN

Stack Overflow用户
提问于 2011-06-23 04:09:40
回答 1查看 3.7K关注 0票数 15

有人能给我简要解释一下我什么时候需要使用NSCache吗?我读了文档,但我不明白。比如,给我举一个NSCache有用的场景的例子?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-23 04:19:03

它或多或少就像一本字典,有以下额外的东西(正如文档中提到的):

NSCache类合并了各种自动删除策略,以确保它不会使用过多的系统内存。如果其他应用程序需要内存,系统会自动执行这些策略。调用时,这些策略会从缓存中删除一些项,从而最小化其内存占用。

您可以从不同的线程添加、删除和查询缓存中的项,而不必自己锁定缓存。

从NSCache对象检索内容会返回一个自动释放的结果。

与NSMutableDictionary对象不同,缓存不会复制放入其中的键对象。

如果您的应用程序需要处理大量数据,但不能将其全部保存在内存中,则可以使用它。例如,如果您有一个从SQL Lite数据库或web服务中提取数据的应用程序,您可能会在查找数据后将其存储在NSCache中。然后,当您再次需要它时,您可以首先检查缓存,并且只需在数据库不在缓存中时访问数据库。与使用常规字典相比,这种方案的主要优点是,如果您在缓存中放置了太多内容,并且它开始填满内存,它将自动丢弃这些内容,以便为您释放内存。

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

https://stackoverflow.com/questions/6445895

复制
相关文章

相似问题

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