我的 iOS 应用程序中有 Obj-C 代码:
CGImageRef cgImage = CGImageRetain([self imageFromSampleBuffer:sampleBuffer]);
if(_delegate) {
[_delegate sessionWithPresentedFrame:[UIImage imageWithCGImage:cgImage]];
}
CGImageRelease( cgImage );
我从博客中复制了这段代码,我需要了解一些关于内存管理的知识(我目前不了解)。所以我希望有人可以帮助我。
现在,cgImage
显然是保留了下来。然后它被传递给[_delegate sessionWithPresentedFrame:]
.
然后cgImage
被释放。我的问题是cgImage
在这里发布是否安全。既然我把它传给了[_delegate sessionWithPresentedFrame:]
,在里面用的时候放在这里会不会杀了它[_delegate sessionWithPresentedFrame:]
?
我应该删除CGImageRelease( cgImage );
此处并在cgImage
使用完毕后添加它[_delegate sessionWithPresentedFrame:]
吗?
还是我有这个倒退?
任何建议将不胜感激。