① iOS 开发时需要缓存操作时优先选择NSCache
当我们开发程序时,经常需要缓存网络图片或从磁盘读取时,多数时候我们选择SDWebImage,不得不说这个框架很优秀,许多的问题都不要我们去考虑。然而有些场景是需要自定义,NSMutableDictionary是多数人的选择。然而NSCache类更好,它是Foundation框架专为处理这种任务设计的。
NSCache的优点:
1.当系统资源将要耗尽时,它可以自动增减缓存。
2.NSCache会优先删除"最久未使用的"。
3.NSCache是线程安全的。
4.NSCache可以设置缓存的总个数和总的大小值。
总结:
1.线程安全是非常有必要的,功能复杂后出现这种偶现问题很难排查。
2.NSCache有一套专用的缓存机制,为开发者提供了便捷,如果自己实现将会很复杂。当NSCache不能满足开发者的需求时,可考虑选择自定义缓存。
3.当有这种缓存场景的时候,我们优先考虑NSCache。
4.SDWebImage内存级别缓存图片用的是NSCache,可查看SDImageCache的memCache。
② 迅雷缓存中,最小缓存2—16该选择哪个好
迅雷的缓存,实际作用是:
每当你下载到一定量的数据时,迅雷才会把这些数据写在硬盘上。比如 ,当你设置缓存为2MB时,迅雷每下载2MB的数据,就要向硬盘上写数据,若是下载速度很快,下载的东西很大,硬盘就会出现频繁的读写,对硬盘寿命有一定的影响,所以,在机器配置允许的情况下,缓存越大越好。
当然,若是设置的太大,在下载过程中突然死机或者突然断电,(恩,伤硬盘这点就不说了)之前未写入硬盘的那些缓存中的数据,就会丢失掉,需要重新下载。比如,缓存设为16MB,你在下载一个几百MB的文件,在上次写入16MB缓存数据之后,你下载了15MB的东西(我们假设在迅雷上看到的文件下载进度涨了5%),结果这时突然断电,重新开机之后,你会发现刚才那5%没了,需要重新下。就是这样子~
③ 怎么选机械硬盘的缓存哪种好
机械硬盘的缓存,我比较看好英特尔2017年推出的那款傲腾智能缓存,容量大不说,存储速度还快,关键是价格还便宜。我就花了不到150元,现在电脑开机启动、软件启动都提升了不少,就连以前加载登录最慢的大型游戏,我都不用等了,超级快~