SDWebImage 给内存带来很高的价值

SDWebImage give rise to memory to a high value

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

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

我确定我的电池复用没问题,我想知道这是为什么,谢谢。

当您滚动时,您会异步加载大量图片,从而导致您有很多线程和异步下载,从而导致内存问题。但是,我建议您执行以下操作。

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

2- 缓存图像是个好主意,这样当它们的单元格出现时您就不会再次下载它们(SDWebImage 提供了缓存功能)。

这 2 个步骤应该可以让您的应用正常运行。

希望对您有所帮助!

请尝试[[SDImageCache sharedImageCache] setShouldDecompressImages:NO];[[SDWebImageDownloader sharedDownloader] setShouldDecompressImages:NO];。不允许SDWebimage解压图片到内存。