SDWebImage与YYWebImage对比(一)

YYWebImage优点:
不只是对Gif的处理上有区别!!!
不只是对Gif的处理上有区别!!!
不只是对Gif的处理上有区别!!!

处理一般的图片网络图片下载,虚拟内存比较低,SD下载几页之后虚拟内存上升比较快

1页下载数据所占虚拟内存
SD

SDWebImage与YYWebImage对比(一)_第1张图片
327F41FC-F4D4-4C6E-9B59-71456581D658.png

YY

SDWebImage与YYWebImage对比(一)_第2张图片
F57DE61F-4131-4E2A-B490-E056589984E2.png




到5页下载数据所占虚拟内存
SD
SDWebImage与YYWebImage对比(一)_第3张图片
0FB2E043-341C-4EA0-902E-FB41C437F227.png

YY


SDWebImage与YYWebImage对比(一)_第4张图片
FDA03C0E-9DCE-45CF-A1CA-D63FC6284D3D.png

而后,使用SD再多上滑加载到第10页数据时,虚拟内存已经到了100M左右。使用YY滑到第10页时虚拟内存占用23M不到。

我暂时不知道虚拟内存是否有意义。但后面这一问题的出现,我不太想用SD了。

同样的工程文件,唯一不同的地方就是列表cell图片加载一个用的YY,一个用的SD,结果使用SD加载图片的跑道真机用Instrument检测到了内存泄露,
于是点击那个红色X就看到了:


SDWebImage与YYWebImage对比(一)_第5张图片
0BB252E5-FD98-48F0-A4CF-0C798DBD292C.png

开始还以为是使用了gcd导致的,在确保项目没有使用gcd的情况下;由于看到Network字样,我又怀疑难道是AFNetworking导致的,于是使用系统api做网络请求依然是这样。最后误打误撞,换了YYWebImage加载图片,突然没有内存泄露了。后来再来回试了几次,确保问题就出现在网络图片加载的问题上。

不过很奇怪的是,我其他项目使用SD也没有遇到这个问题,在网上找资料,最后也没搞明白,希望大家帮我弄明白这是咋回事???

相关调试代码:
github代码:https://github.com/Baichenghui/learnDemo.git

你可能感兴趣的:(SDWebImage与YYWebImage对比(一))