NSCache 缓存处理

NSCache 接口了解

优点:
1、NSCache是一个类似NSDictionary一个可变的集合。
2、提供了可设置缓存的数目与内存大小限制的方式。
3、保证了处理的数据的线程安全性
4、缓存使用的key不需要是实现NSCopying的类,所以key可能是nil没有设置值,但是不会崩溃
5、当内存警告时内部自动清理部分缓存数据。

代理方法 , 这里面不要对cache进行改动 , 如果对象obj需要被持久化存储的话可以在这里进行操作:
这里面有几种情况会导致该方法执行:


手动移除(removeObjectForKey)
缓存超过设定的上线
App不活跃
系统内存爆炸


NOTE:

NSMutableDictionary 和NSCache的value都是不可以为nil的


什么时候使用这个类呢?
收到数目的限制, 内存限制的时候数据删除并没有影响到「eg:图片的缓存」

PS: 小结
NSCache 就是NSMutableArray的特殊的key,主要特殊在:key不要求是copying的。


参考链接:


https://juejin.cn/post/6844903810528182280
https://juejin.cn/post/6969541961308962853
https://juejin.cn/post/6979758315353931790
GNU-step 实现的方法

你可能感兴趣的:(NSCache 缓存处理)