首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CGImageMaskCreate/imageWithCGImage应用图像掩码时的内存泄漏

使用CGImageMaskCreate/imageWithCGImage应用图像掩码时的内存泄漏
EN

Stack Overflow用户
提问于 2010-07-01 20:20:23
回答 1查看 780关注 0票数 1

这个代码泄露了,如果有人能告诉我为什么?

代码语言:javascript
复制
    UIGraphicsBeginImageContext(drawingImage.frame.size);

    [drawingImage.image drawInRect:CGRectMake(0, 0, drawingImage.frame.size.width, drawingImage.frame.size.height)];
    // Draw some vectorial data
    // ...
    // Apply an image mask 
    CGImageRef maskRef = mask.CGImage; 
    CGImageRef cgmask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                          CGImageGetHeight(maskRef),
                                          CGImageGetBitsPerComponent(maskRef),
                                          CGImageGetBitsPerPixel(maskRef),
                                          CGImageGetBytesPerRow(maskRef),
                                          CGImageGetDataProvider(maskRef), NULL, false);

    CGImageRef masked = CGImageCreateWithMask([UIGraphicsGetImageFromCurrentImageContext() CGImage], cgmask);
    CGImageRelease(cgmask);

    drawingImage.image = [UIImage imageWithCGImage:masked];

    UIGraphicsEndImageContext();
EN

回答 1

Stack Overflow用户

发布于 2010-07-01 20:42:00

masked未释放,一旦您使用它创建了镜像,您需要释放它

代码语言:javascript
复制
drawingImage.image = [UIImage imageWithCGImage:masked];
CGImageRelease(masked)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3157663

复制
相关文章

相似问题

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