美文网首页
NSCache简介

NSCache简介

作者: ShenYj | 来源:发表于2016-08-26 11:25 被阅读84次
    • NSCache苹果提供的一套缓存机制,当今主流的SDWebImage正是使用了NSCache进行缓存

    相对比使用NSMutableDictionary的优势有:
    1.和NSMutableDictionary使用起来相似
    2.线程安全,Mutable开发的类一般都是线程不安全的
    3.当内存不足时会自动释放内存(所以从缓存中取数据的时候总要判断是否为空)
    4.指定缓存的限额,当缓存超出限额自动释放内存

      缓存限额:
    1) 缓存数量
        @property NSUInteger countLimit;
    2) 缓存成本:设置缓存占用的内存大小,并不是一个严格的限制,当总数超过了totalCostLimit设定的值,系统会清除一部分缓存,直至总消耗低于totalCostLimit的值。
        @property NSUInteger totalCostLimit;
    
    

    NSCache代理方法,内部对象将要被移除时调用

    //当缓存被移除的时候执行
    - (void)cache:(NSCache *)cache willEvictObject:(id)obj{
        NSLog(@"缓存移除  %@",obj);
    }
    

    使用NSCache,有一点需要注意:
    当收到内存警告时调用removeAllObjects,不能够再次往NSCache实例对象中添加对象 而在其他位置调用removeAllObjects执行清空操作时,还是可以再次添加对象的

    相关文章

      网友评论

          本文标题:NSCache简介

          本文链接:https://www.haomeiwen.com/subject/ogtzsttx.html