有人能给我简要解释一下我什么时候需要使用NSCache吗?我读了文档,但我不明白。比如,给我举一个NSCache有用的场景的例子?谢谢。
发布于 2011-06-23 04:19:03
它或多或少就像一本字典,有以下额外的东西(正如文档中提到的):
NSCache类合并了各种自动删除策略,以确保它不会使用过多的系统内存。如果其他应用程序需要内存,系统会自动执行这些策略。调用时,这些策略会从缓存中删除一些项,从而最小化其内存占用。
您可以从不同的线程添加、删除和查询缓存中的项,而不必自己锁定缓存。
从NSCache对象检索内容会返回一个自动释放的结果。
与NSMutableDictionary对象不同,缓存不会复制放入其中的键对象。
如果您的应用程序需要处理大量数据,但不能将其全部保存在内存中,则可以使用它。例如,如果您有一个从SQL Lite数据库或web服务中提取数据的应用程序,您可能会在查找数据后将其存储在NSCache中。然后,当您再次需要它时,您可以首先检查缓存,并且只需在数据库不在缓存中时访问数据库。与使用常规字典相比,这种方案的主要优点是,如果您在缓存中放置了太多内容,并且它开始填满内存,它将自动丢弃这些内容,以便为您释放内存。
https://stackoverflow.com/questions/6445895
复制相似问题