我想在 iOS 上渲染 PDF,当我调用CGPDFDocumentCreateWithURL()时出现内存泄漏。我知道这个问题之前已经讨论过,但我不知道我的情况是否不同,因为我使用的是 ARC。
通过在我的 viewDidLoad 上运行以下代码,我提取并简化了问题:
// Bridge resourceRef to ARC with no ownership change (still owned by ARC)
CFURLRef resourceRef = (__bridge CFURLRef) [NSURL fileURLWithPath:htmlPath];
CGPDFDocumentRef pdf;
pdf = CGPDFDocumentCreateWithURL(resourceRef);
CGPDFDocumentRelease(pdf);
// Do not need to release resourceRef because ARC will release it
Instruments 告诉我泄漏的对象是一个 Malloc 48 字节,由 CoreGraphics 负责。堆栈跟踪中有 CGPDFDocumentCreateWithURL 。泄漏意味着存在没有所有者的对象。
我已经创建了一个复制问题的 git repo: https ://github.com/indika/PDFLeaks
有任何想法吗。将不胜感激任何帮助或“指针”。