0
圖片管理我的OBJ - C的代碼在我的iOS應用:iOS版 - 與CGImageRetain和CGImageRelease
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:]
嗎?
或者我有這個倒退?
任何意見將不勝感激。
你在考慮過於複雜。代碼是正確的。如果需要的話,代表有責任保留UIImage。無論如何,這與cgImage管理是分開的。 – Wain 2013-05-01 17:52:35