首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGPDF iPhone/iPad内存问题

CGPDF iPhone/iPad内存问题
EN

Stack Overflow用户
提问于 2010-10-12 14:59:14
回答 1查看 2.7K关注 0票数 2

多年来,我一直在努力为iPhone/iPad制作一个实用的PDF阅读器,但它就是无法停止使用内存。使用CGContextDrawPDFPage绘制的所有页面似乎都是在内部缓存的,从未发布过。

我不是唯一一个有这个问题的人:http://lists.apple.com/archives/quartz-dev/2010/Apr/msg00025.html

http://web.archiveorange.com/archive/v/SEb6acvPicMB2NdIjEd3

第一个线程的一个响应:

--如果这是我认为的那样,它不是一个漏洞,而是一个缓存。不要在调用之间保留PDF文档,而是尝试创建文档,获取和绘制页面,然后在完成时释放文档。

我试过了,它解决了问题,但太慢了。然而,以“正常”的方式(即,没有加载/释放CGPDFDocument每次抽签)工作良好和合理的速度,直到我达到文件的第4页或第5页,它崩溃。

我搜索这个问题已经很久了:每个人都有同样的问题,但显然没有人让它起作用。我发现的唯一示例是加载一页PDF,所以很明显,在加载包含多个页面的文档之前,一切都很好(当然,如果文档中有图像,它甚至会更早崩溃)。快把我逼疯了。

所以问题是:如何在应用程序中使用CGPDF处理PDF绘图?任何帮助都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-12 23:32:59

我当前的企业项目是基于PDF阅读器的。我不发布CGPDFDocument,我可以浏览一个14页的苹果pdf,其应用程序的最大容量为30 14。我不能给你代码,但我可以指出正确的方向。

我在这里启动了一个类似的线程:Fast and Lean PDF Viewer for iPhone / iPad / iOs - tips and hints?

一些小贴士:

可以时,将任何媒体-Save到磁盘。

-Use更大的tileSizes (如果在TiledLayers上呈现)

-Note,它的图像呈现速度将比CGPDFPageRef快

-Use NSOperations提前准备页面

代码语言:javascript
复制
of time.

-Recycle页面对象

当您不需要任何开放的上下文时,请立即进行-Close

接收内存警告的-on释放并重新加载DocRef

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

https://stackoverflow.com/questions/3915979

复制
相关文章

相似问题

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