NSCache

作者: 愤怒的八哥 | 来源:发表于2019-02-11 12:01 被阅读13次

    NSCache 是线程安全的,在多线程操作中,不需要对Cache进行加锁,NSCache的key只是对对象的强引用,对象不需要实现NSCopying协议,NSCache也不会像NSDictionary一样复制对象。
    (1)NSCache是专门用来进行缓存处理的
    1 NSCache时苹果官方提供的缓存类,具体使用和NSDictionary类似,在AFNetworking框架和SDWebImage框架中被用来管理缓存
    2 苹果官方解释NSCache在系统内存很低时,会自动释放对象(但模拟器演示不会释放)
    建议:接收到内存警告时主动调用removeAllObject方法释放对象
    3 NSCache是线程安全的,在多线程操作中,不需要对NSCache加锁
    4 NSCache的Key只是对对象进行Strong引用,不是拷贝
    (2)属性:name(名称)
    delegate(设置代理)
    totalCostLimit(缓存空间的最大总成本,超出上限会自动回收对象,默认值为0,表示没有限制)
    countLimit(能够缓存的对象的最大数量,默认值为0,表示没有限制)
    evictsObjectsWithDiscardContent(标识缓存是否回收废弃的内容)

    相关文章

      网友评论

        本文标题:NSCache

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