iOS PDFKit 内存泄漏

Posted

技术标签:

【中文标题】iOS PDFKit 内存泄漏【英文标题】:iOS PDFKit memory leak 【发布时间】:2019-11-26 13:13:33 【问题描述】:

当我打开 PDF 并频繁关闭它会加载内存时,我遇到了一个问题。我检查了 Profiler 并发现 PDFKit -[PDFTilePool _createTileSurfaceForRequest:] 根本没有处理。

这是我的代码:

func configure(with url: URL, delegate: PDFCollectionViewCellDelegate?) 
        self.configure(baseDelegate: delegate)
        self.delegate = delegate
        pdfView.document = PDFDocument(url: url)
        pdfView.maxScaleFactor = 6
        pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit
        resetZoomAndScrollToFirstPage()
    

也许有人知道那是什么以及如何处理?

【问题讨论】:

如果您展示您如何加载/使用 PDFView 的代码会有所帮助 函数的第 2 行发生了什么?您在 configure(baseDelegate) 内部调用 self.configure(with..) ,然后设置委托?您是否在 self.configure(baseDelegate) 中设置了另一个委托? 这并没有显示您如何加载/使用 PDFView,而只是显示您如何配置它。更令人担忧的是,您似乎在函数的第一行中有一个无限循环,因为它只是调用自身作为参数传入。我真的很惊讶它不仅仅是活锁和崩溃。 @flanker,它只是一个识别集合视图单元格上的点击的代表团 @RuslanPitula 我的错误 - 误读了方法签名,试图在我的手机上查看它。它根本没有自称:-)。如果您展示了如何创建和加载视图以及创建/使用委托的位置,它仍然有助于确定问题,因为这更有可能导致任何内存泄漏。 【参考方案1】:

我认为这个问题是 ios 13.0 的错误。在 iOS 12 和 iOS 13.3 中检查它

【讨论】:

这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。如果你earn足够reputation你就可以comment on any post。

以上是关于iOS PDFKit 内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章

iOS:内存泄漏代码

iOS 内存泄漏的检测方式

内存泄漏,在do-catch块中。 iOS,Swift

如何修复 _NSCFNumber 的 iOS 内存泄漏?

iOS - AudioToolbox 内存泄漏

关于IOS内存泄漏