0

我有一个益智游戏,我想添加一个 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

我怎样才能提高这里的性能?

4

0 回答 0