Мне нужно преобразовать каждую страницу документа PDF в изображения PNG.Эти изображения затем отображаются в scrollView.Мне нужно создать два изображения на странице: одно по размеру экрана, а другое в 2,5 раза больше (оно используется, когда пользователь увеличивает масштаб scrollView).
Моя проблема заключается в том, что у меня иногда появляются предупреждения и сбои памятикогда я создаю большие изображения.То, как я это делаю, хорошо известно:
CGRect pageRect = CGPDFPageGetBoxRect(pdfPage, kCGPDFMediaBox);
float pdfScale = 2.5*self.view.frame.size.height/pageRect.size.height;
pageRect.size = CGSizeMake(pageRect.size.width*pdfScale, pageRect.size.height*pdfScale);
UIGraphicsBeginImageContext(pageRect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0);
CGContextFillRect(context,pageRect);
CGContextSaveGState(context);
CGContextTranslateCTM(context, 0.0, pageRect.size.height);
CGContextScaleCTM(context, pdfScale,-pdfScale);
CGContextDrawPDFPage(context, page);
CGContextRestoreGState(context);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Проблема возникает на iPhone 3G / 3GS и iPod Touch.Как я могу ограничить потребление памяти, сохраняя масштаб увеличения 2,5?
Спасибо!