美文网首页
SDWebImage内存警告分析及解决方案

SDWebImage内存警告分析及解决方案

作者: IUVO | 来源:发表于2019-03-14 21:59 被阅读0次

SDWebImage:

SDWebImage运行过程中内存占用过高的问题相信很多同学都遇到过,特别是在处理gif图片的时候,经常导致内存报警。

通过instrucment分析,发现SDWebImage处理gif图片的方法是:将gif资源中每一张imgae写入到内存中,通过animatedImageWithImages的方式播放动画。
这样的好处是,gif轮询播放时,直接从内存中取资源就好了,降低了cpu的占用。也就是说,SDWebImage是以空间换取的流畅度,同时也就出现了内存占用过多的问题。

解决方法:

1、每次只加载一张图片,之前的立即释放:
   // [[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"];
2、使用YYWebimage代替。

YYImage:

通过instrument分析,发现了YYImage处理gif图片的方法是:每次从缓存的gif中,读取当前需要展示的image,进行动画展示。这样做的好处是,不用为gif的每张image开辟空间了,每次都是从一份gif资源中读取一张image就好了,对应的,cpu的资源开销自然也就上来了。

至于如何抉择,看个人咯~

相关文章

网友评论

      本文标题:SDWebImage内存警告分析及解决方案

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