NSCache 简单使用

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方法来判断引用状况,没有引用,则销毁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值