2

在 PDF 文件上执行这个简单的代码

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Insert code here to initialize your application

    NSURL *url = [NSURL fileURLWithPath: @"/Users/pc/Desktop/C# 4.0 in a Nutshell The Definitive Reference.pdf"];
    PDFDocument *document = [[PDFDocument alloc] initWithURL:url];
    [document release];

}

并使用仪器运行它,我得到如下内存泄漏

在此处输入图像描述

经过一番调查后,我发现它只发生在某些 PDF 文件中。其他文件在 Instrument 中运行时没有任何泄漏警告。

这是 PDFKit 中的错误吗?

更新

这段代码执行了几次,内存严重上升

-(IBAction) test: (id) sender
{
    NSLog(@"Starting");
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    NSURL *url = [NSURL fileURLWithPath: @"/Users/pc/Desktop/C# 4.0 in a Nutshell The Definitive Reference.pdf"];

    for (int i=0; i<100; i++)
    {
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
        PDFDocument *document = [[PDFDocument alloc] initWithURL:url];
        [document release];
        [pool release];
    }

    [pool release];


}
4

1 回答 1

2

每打开一个 PDF,泄漏量是否会增加?如果是这样,那么您可能想通过 Radar 在https://bugreport.apple.com/上提交错误

如果无论打开多少 PDF,数量都保持不变,则可能不是错误。

于 2012-01-07T17:17:36.200 回答