SDWebImageDecoder

因为UIImage的imageWithData函数是每次画图的时候才将Data解压成ARGB的图像,缓存

因此在每次画图的时候,会有一个解压操做,这样效率很低,可是只有瞬时的内存需求。函数

为了提升效率经过SDWebImageDecoder将包装在Data下的资源解压,而后画在另一张图片上,这样这张新图片就再也不须要重复解压了。线程

这种作法是典型的空间换时间的作法。code

首先NSURLCache是缓存原始数据(raw data)到磁盘或内存,所以每次使用的时候须要将原始数据转换成具体的对象,如UIImage等,这会致使额外的数据解析以及内存占用等,而SDWebImage则是缓存UIImage对象在内存,缓存在NSCache中,同时直接保存压缩过的图片到磁盘中;还有一个问题是当你第一次在UIImageView中使用image对象的时候,图片的解码是在主线程中运行的!而SDWebImage会强制将解码操做放到子线程中。对象

以上记录下来备忘 还不是很理解怎么回事图片

相关文章
相关标签/搜索