SDWebImage大家都很熟悉了,大部分的APP加载图片使用的都是这个框架。
但是最近在使用这个框架加载图片的时候,出现了这样一个问题“Terminated due to memory issue”。刚开始的时候并不知道是因为图片的问题,就一直用instrument里面的工具调试了好久。后来才发现,在接口里返回的数据全部是高清大图,都是好几兆以上。然后把加载图片的代码全部注释,果然我的猜测是正确的,SDWebImage加载多个网络高清大图会导致软件直接闪退。
接着就是修改历程了。
图1
我发现在这里,就是图1中所标注的1的位置,图片取出来的时候就已经巨大无比,占用了很大的内存,导致内存来不及释放就崩溃,因为这里的图片的处理都是按原大小进行的。(注释:图1中所标注的2是后来的修改内容)
知道了问题所在,就可以很方便的修改啦,修改的策略就是如图1中所标注的2一样,在这里对图片进行一