首先NSCache是苹果官方提供的缓存类,它的用法与NSMutableDictionary的用法很相似。
NSCache的特点:
1、在系统发出低内存通知时,会自动删减缓存
2、缓存使用的key不需要是实现NSCopying的类
3、NSCache是线程安全的,在多线程操作中,不需要对Cache加锁
注意:
1、countLimit、totalCostLimit的特点是如果超出他们所设置的范围再加入新的数据就会把以前的删除,且是删除旧的留新的,从前往后删除,不是一下就删除完成,除非你调用removeAllObjects
2、一般我们的内存缓存建议使用NSCache,因为它线程安全
3、它是临时缓存,类似于内存缓存,程序退出后就被释放了
基本用法
我们常见的第三方 SDWebImage、AFNetworking 缓存策略就用了它
网友评论