我需要在 OC 中手动调用 'CGPathRelease' 吗?
Do I need to call 'CGPathRelease' manually in OC?
假设我在 'drawRect:rect' 方法中获取当前上下文并创建路径。调用'CGContextDrawPath'方法后这条路径是什么?
它会被安全释放或导致内存泄漏,还是保持不变?我需要手动调用'CGPathRelease'吗
CGContextRef context = UIGraphicsGetCurrentContext();
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, nil, 20, 50);
CGPathAddLineToPoint(path, nil, 20, 100);
CGContextAddPath(context, path);
//Do something else here
CGContextDrawPath(context, kCGPathFillStroke);
是的,您必须手动调用 CGPathRelease。请记住 ARC 不管理 Core Foundation 对象。 Here 正在阅读 material
假设我在 'drawRect:rect' 方法中获取当前上下文并创建路径。调用'CGContextDrawPath'方法后这条路径是什么? 它会被安全释放或导致内存泄漏,还是保持不变?我需要手动调用'CGPathRelease'吗
CGContextRef context = UIGraphicsGetCurrentContext();
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, nil, 20, 50);
CGPathAddLineToPoint(path, nil, 20, 100);
CGContextAddPath(context, path);
//Do something else here
CGContextDrawPath(context, kCGPathFillStroke);
是的,您必须手动调用 CGPathRelease。请记住 ARC 不管理 Core Foundation 对象。 Here 正在阅读 material