我有一個從Web資源(> 300MBs)下載的大量UIImage,當我嘗試渲染時,會導致應用程序因內存崩潰。我嘗試使用下面的代碼來調整圖像大小:在內存限制下調整UIImage的大小
+ (UIImage *)imageWithImage:(UIImage *)image scaled:(float) scale {
//UIGraphicsBeginImageContext(newSize);
CGSize size = (CGSize){scale * image.size.width, scale * image.size.height};
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
的問題是,你可能已經猜到了,這需要實際渲染圖像,從而導致死機一樣。有沒有辦法調整大圖像而不會在系統上造成如此巨大的內存壓力?
是不是有沒有下載圖像瓷磚的原因?!? – Wain
是的,我作爲一個base64編碼的字符串獲得整體圖像 – Iowa15