Утечка кода для просмотра PDF - PullRequest
0 голосов
/ 25 февраля 2011

Я написал некоторый код для отображения страницы PDF-файла.К сожалению, приведенный ниже код выглядит как утечка, но я не могу найти утечку.Кто может помочь мне улучшить этот код?Заранее спасибо.

    CGPDFPageRef page = CGPDFDocumentGetPage(pdf, pageNr);
    CGPDFPageRetain(page);

    CGRect pageRect = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);

    float pdfScale = self.view.frame.size.width/pageRect.size.width;
    pageRect.size = CGSizeMake(pageRect.size.width*pdfScale, pageRect.size.height*pdfScale);

    UIGraphicsBeginImageContext(self.view.bounds.size);
    CGContextRef context = UIGraphicsGetCurrentContext();   
    CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0);
    CGContextFillRect(context,pageRect);
    CGAffineTransform pdfTransform = CGPDFPageGetDrawingTransform(page,kCGPDFMediaBox,self.view.bounds, 0, true);
    CGContextSaveGState (context);
    CGContextTranslateCTM(context, 0.0, self.view.bounds.size.height);
    CGContextScaleCTM(context, 1.0, -1.0);
    CGContextConcatCTM (context, pdfTransform);
    CGContextClipToRect (context, CGPDFPageGetBoxRect(page,kCGPDFMediaBox));
    CGContextDrawPDFPage(context,page);

    CGContextRestoreGState(context);
    UIImage *backgroundImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    CGPDFPageRelease(page);

1 Ответ

0 голосов
/ 25 февраля 2011

Если у вас течет, то же самое относится и к моему приложению в CGContextDrawPDFPage, тогда это известная проблема, которая, как говорят, исправлена ​​в iOs4.0, но на самом деле это не так. Проверьте это Радар .

ОБНОВЛЕНИЕ: Я проверил сейчас, и на самом деле он теперь течет только на моем iPhone 3 с iOs 4.1 на нем, вместо этого на iPhone4 (iOs 4.2) и iPad (iOs 4.2) не протекает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...