[英]Leaking code for pdf viewer
我寫了一些代碼來顯示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);
如果您在CGContextDrawPDFPage中泄漏的是我的應用程序,那么這是一個已知問題,據說在iOs4.0中已得到糾正,但實際上並非如此。 檢查此雷達 。
更新:我已經檢查過,實際上它現在僅在具有iOs 4.1的iPhone 3上泄漏,而不是在iPhone4(iOs 4.2)和iPad(iOs 4.2)上泄漏。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.