我必须为照片应用程序显示多种图像(不仅仅是JPG或PNG)。
我遇到的问题是将下载的NSData转换为几张高分辨率图像(大约6900 * 6900和6999 * 6999像素)到UIImage
应用程序因内存问题而崩溃。
我使用了多个异步图像下载和缓存第三方,如AsyncImageView
,SDWebImageCache
,Haneke
和EGOImageView
。他们都崩溃了。
以下是我为AsyncImageView
确定崩溃的代码UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale);
[image drawAtPoint:CGPointZero];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
如果我只是将image.size
更改为CGSizeMake(400, 400)
而将[image drawAtPoint:CGPointZero];
更改为[image drawInRect:CGRectMake(0,0,400,400)];
它不会崩溃,但尺寸质量会降低。
我想知道如何在不降低图像质量的情况下显示图像。
注意:图像格式可以是任何格式,而不仅仅是PNG或JPG
由于