1

我有以下方法,我正在尝试对图像进行一些绘图:

- (UIImage*) renderImage
{
    UIGraphicsBeginImageContextWithOptions(self.size, NO, 0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    //drawing code

    UIImage *image = [UIGraphicsGetImageFromCurrentImageContext() retain];
    UIGraphicsEndImageContext();  
    return [image autorelease];    
}

当我运行这段代码时,我注意到我受到的打击比我简单地drawRectUIView. 我是否在这里绘制了错误的图形上下文(即CGContextRef context = UIGraphicsGetCurrentContext();)?还是UIGraphicsGetImageFromCurrentImageContext只是比抽签贵得多drawRect

4

1 回答 1

0

主要区别在于您创建的上下文需要离屏渲染,它与 -drawRect 中创建的上下文不同。因此,您正在向堆中添加额外的内存,直到您释放图像为止。

于 2012-11-01T11:00:09.387 回答