在 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];
}