说实话很喜欢简书这种简单的画面风格, 今天突然心血来潮自己写了写
[[SDImageCache sharedImageCache] setShouldDecompressImages:NO];[[SDWebImageDownloader sharedDownloader] setShouldDecompressImages:NO]
这两句就能解决问题
原理:
我遇到这个问题的时候感觉大神们写的太啰嗦了, 简单来讲:
SDWebImage在加载图片的时候有一步减压缩的过程, 减压缩图片,并将图片存到cache使得之后的加载更加快, 效果更加好, 方便tableview等控件的数据交互, 提高滑动的流畅性。然而, 注意, 然而来了, 压缩这个过程, 图片分辨率特别高的时候占用的内存就会特别大, 1~2M的图片在压缩时会秒占300兆左右的内存, 还由于SDWebImage自己有线程处理, 比如同时给多个tabviewcell 里面的imageview做网络图片赋值时, 10多个图片一起走线程, 一起压缩, 你的应用占的内存有可能有20M瞬间变成1G, 可能还要多, 这种程度的暴增会被系统认为内存泄漏, 于是乎~~~~~~~~~~砰
我说的不对的地方请指正, 没有错误哪有进步~~~~