有人可以在我需要使用NSCache时向我简单解释一下吗?我阅读了文档而我没有得到它。比如,给我一个NSCache有用的场景示例? 感谢。
答案 0 :(得分:19)
它或多或少就像一本字典,还有以下附加内容(如文档所述):
NSCache类包含各种自动删除策略 确保它不会使用太多 系统的记忆系统 自动执行这些 如果其他人需要内存的策略 应用。调用时,这些 政策从中删除了一些项目 缓存,最小化其内存 足迹。
您可以从缓存中添加,删除和查询缓存中的项目 线程无需锁定 缓存自己。
从NSCache对象中检索内容会返回自动释放的内容 结果
与NSMutableDictionary对象不同,缓存不会复制密钥 放入它的对象。
如果您的应用程序有大量需要使用的数据,您可以使用它,但是您无法将其全部保留在内存中。例如,如果您有一个从SQL Lite数据库或Web服务中提取数据的应用程序,则可以在查找后将其存储在NSCache中。然后,当您再次需要它时,您可以先检查缓存,只需要访问数据库(如果它不在缓存中)。在这种场景中使用常规字典的主要优点是,如果你在缓存中放入太多东西并且它开始填满内存,它会自动丢弃东西以便为你释放内存。