Я установил изображение с 10000 * 10000 пикселей в UIImageView из сети с помощью SDWebImage, а приложение разбилось, потому что оно выделяло слишком много памяти. Я пытался изменить размер изображения, которые были загружены на SDWebImage, поэтому я добавить код ниже:Приложение разбилось, когда я показываю большое изображение по UIImageView
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClearRect(context, CGRectMake(0, 0, size.width, size.height));
CGContextSetInterpolationQuality(context, 0.8);
[self drawInRect:drawRect blendMode:kCGBlendModeNormal alpha:1];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Хотя размер изображения был меньше, мое приложение разбился из-за той же самой причине. Кажется, что есть какое-то действие рендеринга во время действия изменения размера, память увеличилась до 600 М и упала до 87М через некоторое время.
Как изменить размер изображения без рендеринга?
Кажется, что отображение изображения с помощью UIWebView не было проблемой. Как это работает?
Любая помощь и предложения будут весьма заметны
. Разрешение: https://developer.apple.com/library/ios/samplecode/LargeImageDownsizing/
Постановление делает работу для JPG, но не детские
Это может помочь: http://stackoverflow.com/questions/24338414/didrecievememorywarning-called-after-viewdidappear-when-displaying-large-image-f – RDSpinz