当我使用SDWebImage从服务器加载大量图像时,我不知道是否写了一个bug,每次滚动我的列表(tableview或collectionview)时,内存都会升高到高值(例如.200M)。 这是我在单元格中的代码:
- (void)loadInfo(NSDictionary *)dic
{
self.imgView sd_setImageWithURL:[NSURL URLWithString:dic[@"image_src"]];
}
我确信我的细胞重用是可以的,我想知道这就是原因,谢谢。
答案 0 :(得分:2)
当你滚动时,你正在异步加载很多图片,这使你有很多线程和异步下载,从而导致内存问题。不过我建议您使用以下内容。
1-不要从网上下载高分辨率图像,选择默认分辨率,让服务器在发送图像之前尽可能降低分辨率(尽可能节省大量内存)
2-最好缓存图像,以便在单元格出现时不再下载它们(SDWebImage提供缓存功能)。
这两个步骤应该可以让你的应用程序正常运行。
希望这有帮助!
答案 1 :(得分:0)
请尝试[[SDImageCache sharedImageCache] setShouldDecompressImages:NO];[[SDWebImageDownloader sharedDownloader] setShouldDecompressImages:NO];
。不要让SDWebimage将图像解压缩到内存中。