我有一个益智游戏,我想添加一个 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
我怎样才能提高这里的性能?