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:]か?
hereを削除して、で使用されCGImageRelease( cgImage );た後に追加する必要がありますか?cgImage[_delegate sessionWithPresentedFrame:]
それとも私はこれを逆に持っていますか?
アドバイスをいただければ幸いです。