我正在开发几个基本上是 PDF 阅读器的应用程序。从 iOS 6 开始,应用程序开始因为内存不足而崩溃。我们的应用程序使用PDF Reader,但问题与此无关。到目前为止,我们发现:
1. 泄漏来自CGContextDrawPDFPage
2. 它在 iOS <6 中不存在(或不那么突出)
3. 在没有或小压缩的 PDFS 上不会发生泄漏
具体来说:打开经过一定压缩的 PDF 后,会使用一些内存。当 PDF 关闭时,部分内存被释放。然而,并不是全部。您可以通过多次打开和关闭 PDF 轻松获得内存警告,然后使应用程序崩溃。
我也试过PSPDF,虽然它比 PDF Reader 有优势(速度),但它要贵得多,而且里面也有同样的泄漏。
我为PDF Reader和PSPDF Kit创建了非常简单的测试项目。(您只需要在项目中添加一些 PDF)
我可以做些什么来修复 iOS 6 中的泄漏,或者我做错了什么并且实际上没有泄漏?我目前的方法是等待官方修复。
我知道这个问题在这里被大量讨论,但我相信我的情况有点不同。(使用 ARC 和经过测试的库,在模拟器和设备上可见泄漏)
谢谢你。