PDF页面不完全免费!

时间:2011-03-14 23:44:15

标签: iphone objective-c pdf

我在显示pdf页面方面已经工作了很长时间。 在我的应用程序中,我应该重新显示pdf页面数百万次 - 但每当我释放我的页面 - [查看发布])时使用工具 - 分配 - 我看到一些空间总是留下 - 当我重新创建我的视图时draw:inRect - 显示pdf,即使它与之前的相同(想想,某些信息像某些预缓存一样存储)

有人有同样的问题吗? 特别是如果你使用大小为5Mb或更多的pdf页面 - 你的应用程序会在一段时间内崩溃

基本绘图 - 像这样:

- (id)initWithFrame:(CGRect)frame {
    if ((self = [super initWithFrame:frame])) {
        // Initialization code
        self.backgroundColor = [UIColor clearColor];

        NSString *pdfStringURL = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"pdf"];
        NSURL *pdfURL = [NSURL fileURLWithPath:pdfStringURL];

        pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);

    }
    return self;
}


- (void)drawRect:(CGRect)rect {
    CGPDFPageRef pdfPage2 = CGPDFDocumentGetPage(pdf, 1);

    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(ctx, -13, self.frame.size.height+15);
    CGContextScaleCTM(ctx, 1.1, -1.1);
    CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(pdfPage2, kCGPDFCropBox, self.frame, 0, true));
    CGContextSetInterpolationQuality(ctx, kCGInterpolationNone);
    CGContextSetRenderingIntent(ctx, kCGRenderingIntentDefault);
    CGContextDrawPDFPage(ctx, pdfPage2);

}


- (void)dealloc {
    CGPDFDocumentRelease(pdf);
    [super dealloc];
}
}

我怎样才能完全释放记忆!?

0 个答案:

没有答案