首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 6中的CGContextDrawPDFPage泄漏?

iOS 6中的CGContextDrawPDFPage泄漏?
EN

Stack Overflow用户
提问于 2013-01-03 23:02:32
回答 1查看 949关注 0票数 1

我正在开发几个基本上是PDF阅读器的应用程序。从iOS 6开始,由于内存不足,应用程序开始崩溃。我们的应用程序使用PDF Reader,但有一个问题与它无关。到目前为止,我们发现:

来自CGContextDrawPDFPage

  • it的
  1. 泄漏在iOS中不存在(或不是很突出)<6
  2. 泄漏不会发生在没有压缩或压缩较小的

的PDFS上

具体地说:在以一定的压缩方式打开PDF之后,会占用一些内存。当关闭PDF时,该内存的一部分被释放。然而,并不是全部。你可以很容易地得到内存警告,然后只需打开和关闭PDF几次就会使应用崩溃。

我也尝试过PSPDF,虽然它比PDF Reader有优势(速度),但它更贵,而且有同样的漏洞。

我已经为PDF ReaderPSPDF Kit创建了非常简单的测试项目。(您只需要在项目中添加一些PDF )

我能做什么来修复iOS 6中的泄漏吗?或者我做错了什么而实际上没有泄漏?我目前的方法是等待官方修复。

我知道这个问题在这里讨论得很激烈,但我相信我的情况有点不同。(使用ARC和测试库,在模拟器和设备上可见)

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-15 04:53:22

经过多次尝试,我只找到了两个解决方案。然而,没有一个是完美的。

1)使用苹果的

  • 它在iOS < 6.0中不会泄漏
  • 在iOS 6.0中不会泄漏。

QuickLook在使用XPC的另一个进程中运行。然而,这也意味着实际上没有自定义。(请参阅带有链接的博客文章的this问题)

2)使用

似乎没有涉及到CGContextDrawPDFPage,或者只是一些巧妙的优化,但FastPdfKit没有泄漏。缺点有两个--库是商业的,即使你购买了许可证,它的渲染引擎也不会显示给你。你可以使用具有所有功能的免费版本,但有一个闪屏。

由于时间紧迫,我们既不能等待官方补丁,也不能放弃当前的功能,所以我们选择了FastPdfKit。

我不认为这是一个明确的答案。图书馆适合我们的需要,但可能不是你的。而且,它也是一种商业产品。如果有更直接的解决方案,我会很乐意接受的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14141423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档