在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];
}
答案 0 :(得分:2)
每个PDF打开时泄漏量是否会增加?如果是这样,那么您可能希望通过雷达在https://bugreport.apple.com/
提交错误如果金额保持不变,无论打开多少PDF,都可能不是错误。