优化drawRect以避免崩溃应用程序

时间:2013-08-28 18:44:57

标签: objective-c cgcontext

我有一个益智游戏,我想添加500件选项。我目前正在使用drawRect来绘制作品的形状。我预先计算碎片的形状,并使用路径剪切图像,如下所示:

- (void) drawRect:(CGRect)rect
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextBeginPath(ctx);
    CGContextAddPath(ctx, self.path);

    self.boundingBox = CGContextGetPathBoundingBox(ctx);
    CGContextClosePath(ctx);
    CGContextClip(ctx);
    [self.delegate.image drawAtPoint:CGPointZero blendMode:kCGBlendModeNormal alpha:1.0];

    CGContextDrawPath(ctx, kCGPathFillStroke);
}

这会使应用程序崩溃,并通过屋顶发送内存。我注释掉了drawRect,并且视图添加成功并且非常快。这适用于100件,但更高的任何东西都会使应用程序崩溃。如果我注释掉drawRect中的所有代码,我仍然会遇到崩溃。

注意我没有遇到崩溃,我得到Process finished with exit code 0

如何在这里改善表现?

0 个答案:

没有答案