我有一个使用PDFKIT创建的PDF视图,该视图在iPad中加载了PDF。当我们缩放PDF并进行一些徒手绘制时,它会崩溃。可能是什么问题?

最佳答案

我有一个类似的问题,即放大具有多个子类型.ink的多个PDFAnnotations的文档会导致内存使用量迅速达到峰值,而我的应用程序崩溃。当时,我以如下PDF页面边界启动了每个图形注释:

let inkAnnotation = PDFAnnotation(bounds: page.bounds(for: pdfView.displayBox), forType: .ink, withProperties: nil)
解决了我的问题并摆脱了性能问题的原因是,使用表示页面上图形的UIBezierPath的边界框来启动PDFAnnotation,而不是使用整个PDF页面的边界来启动它。
let inkAnnotation = PDFAnnotation(bounds: bezierPath.bounds, forType: .ink, withProperties: nil)
只需确保贝塞尔曲线路径边界相对于您的PDF页面已正确转换即可。 Artem Poluektov撰写的This guide可能是一个不错的起点。

关于ios - iOS PDFKIT缩放时内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57181643/

10-09 01:22