Ios 以最佳方式解压缩UIImage

Ios 以最佳方式解压缩UIImage,ios,objective-c,uiimage,sdwebimage,asyncimageview,Ios,Objective C,Uiimage,Sdwebimage,Asyncimageview,我必须显示多种图像,而不仅仅是照片应用程序的JPG或PNG 我面临的问题是,将下载的6900*6900和6999*6999 px附近的一些高分辨率图像的NSData转换为UIImage时,应用程序由于内存问题而崩溃 我使用了多个异步映像下载和缓存第三方,如AsyncImageView、SDWebImageCache、Haneke和EGOImageView。他们都崩溃了 下面是我指出AsyncImageView崩溃的代码 UIGraphicsBeginImageContextWithOptions

我必须显示多种图像,而不仅仅是照片应用程序的JPG或PNG

我面临的问题是,将下载的6900*6900和6999*6999 px附近的一些高分辨率图像的NSData转换为UIImage时,应用程序由于内存问题而崩溃

我使用了多个异步映像下载和缓存第三方,如AsyncImageView、SDWebImageCache、Haneke和EGOImageView。他们都崩溃了

下面是我指出AsyncImageView崩溃的代码

UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale);
[image drawAtPoint:CGPointZero];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
如果我只是将image.size更改为CGSizeMake400、400和[image drawAtPoint:CGPointZero];至[image drawInRect:CGRectMake0,0400400];它不会崩溃,但尺寸质量会降低

我想知道如何在不降低图像质量的情况下显示图像

注意:图像格式可以是任何类型的格式,而不仅仅是PNG或JPG


谢谢

这不是下载,问题是每像素6999 x 6999*4字节是195MB,是它的几倍,这是一个很大的内存。你需要这么大的图像来显示吗?当你缩小图像的尺寸时,像素会被丢弃,因此质量会降低,像素会减少。我通常一次只需要加载一个图像。但我的想法是像web浏览器一样从上到下加载图像。您需要编写自己的图像渲染引擎来渲染部分下载。