首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGContextDrawPDFPage内存泄漏

CGContextDrawPDFPage内存泄漏
EN

Stack Overflow用户
提问于 2011-03-08 19:08:00
回答 2查看 3.3K关注 0票数 5

你好,这是我在CATiledlayer中绘制pdf的代码

代码语言:javascript
复制
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{

         CGContextSetRGBFillColor(ctx, 1.0, 1.0, 1.0, 1.0);
         CGContextFillRect(ctx, CGContextGetClipBoundingBox(ctx));
         CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height);
         CGContextScaleCTM(ctx, 1.0, -1.0);
         CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(myPageRef, kCGPDFCropBox, layer.bounds, 0, true));
         CGContextDrawPDFPage(ctx, myPageRef);
 }

一切都很好,但我在下面的代码行中收到了内存泄漏警告

代码语言:javascript
复制
     CGContextDrawPDFPage(ctx, myPageRef);

这里的myPageRef是CGPDFPageRef

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-13 17:39:26

我从github下载了代码并做了一些研发,发现

我忘了在我的TiledView的dealloc方法中释放CGPDFPageRelease(myPageRef)

在写完这段代码后,我的内存泄漏问题就解决了……

代码语言:javascript
复制
 // Clean up.

 - (void)dealloc {
     CGPDFPageRelease(myPageRef);   
     [super dealloc];
 }
票数 5
EN

Stack Overflow用户

发布于 2011-08-11 16:32:30

呼叫

代码语言:javascript
复制
CGContextSetInterpolationQuality(context, kCGInterpolationHigh); 
CGContextSetRenderingIntent(context, kCGRenderingIntentDefault);

CGContextDrawPDFPage解决了我的类似问题之前。

答案归功于约翰:CGContextDrawPDFPage taking up large amounts of memory

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

https://stackoverflow.com/questions/5231613

复制
相关文章

相似问题

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