我的应用程序使用石英过滤器将 PDF 文档中的图像转换为黑白:
PDF Document *pdfDocument = [[PDFDocument alloc] initWithURL:[NSURL fileURLWithPath:@"/Users/dan/Desktop/test.pdf"]];
QuartzFilter *quartzFilter = [QuartzFilter quartzFilterWithURL:[[NSBundle mainBundle] URLForResource:@"Black & White" withExtension:@"qfilter"]];
NSDictionary *options = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:quartzFilter, nil] forKeys:[NSArray arrayWithObjects:@"QuartzFilter", nil]];
[pdfDocument writeToFile:@"/Users/dan/Desktop/testResault.pdf" withOptions:options];
不幸的是,使用过滤器将文件写入磁盘会导致许多内存泄漏,如下所示:
这是 Quartz 框架中的错误还是我在上面的代码中做错了什么?
如果你愿意,你可以在这里下载我的测试项目:http ://www.file-upload.net/download-7293644/PDF---Quartz-Memory-Leak.zip.html
我正在使用 ARC。