美文网首页
iOS 开发时需要缓存操作时优先选择NSCache

iOS 开发时需要缓存操作时优先选择NSCache

作者: 某非著名程序员 | 来源:发表于2019-08-18 10:24 被阅读0次

    当我们开发程序时,经常需要缓存网络图片或从磁盘读取时,多数时候我们选择SDWebImage,不得不说这个框架很优秀,许多的问题都不要我们去考虑。然而有些场景是需要自定义,NSMutableDictionary是多数人的选择。然而NSCache类更好,它是Foundation框架专为处理这种任务设计的。
    NSCache的优点:
    1.当系统资源将要耗尽时,它可以自动增减缓存。
    2.NSCache会优先删除"最久未使用的"。
    3.NSCache是线程安全的。
    4.NSCache可以设置缓存的总个数和总的大小值。
    总结:
    1.线程安全是非常有必要的,功能复杂后出现这种偶现问题很难排查。
    2.NSCache有一套专用的缓存机制,为开发者提供了便捷,如果自己实现将会很复杂。当NSCache不能满足开发者的需求时,可考虑选择自定义缓存。
    3.当有这种缓存场景的时候,我们优先考虑NSCache。
    4.SDWebImage内存级别缓存图片用的是NSCache,可查看SDImageCache的memCache。

    相关文章

      网友评论

          本文标题:iOS 开发时需要缓存操作时优先选择NSCache

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