NSCache 简单使用

来源:互联网 发布:云计算技术与应用专科 编辑:程序博客网 时间:2024/05/19 12:17

NSCache的一些用法

iOS NSCache 用法介绍了NSCache的一些基本使用 ,NSCache 可以在内存不足时候自动释放掉已经存储的内容 ,来为将要存储的内容腾出空间。模拟器产生内存不足警告 ,而Cache没有做操作的原因 ,可能是因为 ,Cache的清除操作是在存取时候进行判断 ,如果空间不足再进行清除 ,而模拟器模拟内存不足 ,但没有将要存储的内容 ,因此不会执行清除动作 ,如果这时候继续执行存储动作 ,这时候应该会执行清除动作, 并完成存储。


iOS开发基础 | 被忽视和误解的NSCache介绍了NSCache的一些需要注意的问题 ,包括 :
1. app重启之后NSCache中的内容并不会序列化 。并不会在下次启动时候重新加载。
2. 是否能统计出NSCache中已经缓存的数据大小 。
3. NSCache内存释放时候并不能确定释放的顺序, 并不是按照队列的fifo原则进行的释放。
4. 结合NSDiscardableContent协议来实现

    实现了这个协议的类需要在被引用之前,必须调用beginContentAccess来标记为可使用的,如果在使用之前没有调用beiginContentAccess,那么就会抛出异常。在使用结束之后,调用endContentAccess,来标记它为可以被释放的。如果实现了NSDiscardableContent协议的对象放入了NSCache中,那么,在清除它的时候,会调用discardContentIfPossible方法来判断引用状况,没有引用,则销毁。