第五十条: 构建缓存时选用NSCache而非NSDictionary

    开发Mac OS X或iOS应用程序时,经常会遇到一个问题,那就是从因特网下载的图片应如何来缓存。首先能想到的好办法就是把内存中的图片保存到字典里,这样的话,稍后使用时就无须再次下载了。有些程序员会不假思索,直接使用NSDictionary来做(准确来说,是使用其可变版本),因为这个类很常用。其实,NSCache类更好,它是Foundation框架专为处理这种任务而设计的。
    NSCache胜过NSDictionary之处在与,当系统资源将要耗尽时,它可以自动删减缓存。如果采用普通的字典,那就要自己编写挂钩,在系统发出“低内存”(low memory)通知时手工删除缓存。而NSCache则会自动删减,由于其是Foundation框架的一部分,所以与开发者相比,它能在更深的层面上插入挂钩。此外,NScache还会先行删减“最久未使用的”(leaserecently used)对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容