SDWebImage使内存达到很高的价值

时间:2017-08-07 08:08:50

标签: ios sdwebimage

当我使用SDWebImage从服务器加载大量图像时,我不知道是否写了一个bug,每次滚动我的列表(tableview或collectionview)时,内存都会升高到高值(例如.200M)。 这是我在单元格中的代码:

 - (void)loadInfo(NSDictionary *)dic
    {
        self.imgView sd_setImageWithURL:[NSURL URLWithString:dic[@"image_src"]];
    }

我确信我的细胞重用是可以的,我想知道这就是原因,谢谢。

2 个答案:

答案 0 :(得分:2)

当你滚动时,你正在异步加载很多图片,这使你有很多线程和异步下载,从而导致内存问题。不过我建议您使用以下内容。

1-不要从网上下载高分辨率图像,选择默认分辨率,让服务器在发送图像之前尽可能降低分辨率(尽可能节省大量内存)

2-最好缓存图像,以便在单元格出现时不再下载它们(SDWebImage提供缓存功能)。

这两个步骤应该可以让你的应用程序正常运行。

希望这有帮助!

答案 1 :(得分:0)

请尝试[[SDImageCache sharedImageCache] setShouldDecompressImages:NO];[[SDWebImageDownloader sharedDownloader] setShouldDecompressImages:NO];。不要让SDWebimage将图像解压缩到内存中。