我在加载大图像时收到内存警告,我还要缓存图像,这样如果用户向上滚动该图像应该存在。我正在使用SDWebImage Library。 细胞!.productImageView?.sd_setImageWithURL(URL)
答案 0 :(得分:1)
根据您的情况,我有两点建议:
1.一般建议我们可以在服务器上上传小尺寸图像,这样我们就可以避免内存问题。如果我们在UITableView
中显示图像,则会考虑使用缩略图或尺寸较小的图像。
但是当我们点击UITableView
中的某个小图像时,我们可以显示更大的图像到详细信息视图控制器。
2.其次,您可以下载图像并调整其大小,然后使用NSCache
类来缓存它们,而不是使用SDWebImage
。在您的情况下,imageWithContentsOfFile
无法使用,因为您正在从某个网址下载图片。
但是下载后您可以使用imageWithContentsOfFile
或者您可以调整图片大小并使用您自己的NSCache
1}}。
答案 1 :(得分:0)
您在图像视图中使用什么来显示图像.UIImage imageNamed是维护缓存本身。
答案 2 :(得分:0)
请使用以下代码。
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"png"]];
这将有助于您管理内存消耗。
答案 3 :(得分:0)
试试这段代码。
NSString *thumbnailImage = objectname.thumbnailUrl;
[cell.productImageView sd_setImageWithURL:[NSURL URLWithString:thumbnailImage]];