我正在观察 25MB 的内存突发[self setImageData:[AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer]];
下面的代码片段正在捕获图片并提供 jpg 格式的数据。当我们拍摄更多照片时,系统会报告内存不足警告。
在分析器中我们看不到泄漏,但有时应用程序会报告低内存警告,即使在 20MB 和应用程序崩溃时也是如此。
[[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:videoConnection
completionHandler:^(CMSampleBufferRef imageSampleBuffer, NSError *error)
{
[[self captureSession] stopRunning];
if (imageSampleBuffer != NULL)
{
CFDictionaryRef exifAttachments = CMGetAttachment(imageSampleBuffer, kCGImagePropertyExifDictionary, NULL);
if (exifAttachments)
{
NSLog(@"attachements: %@", exifAttachments);
}
[self setImageData:[AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer]];
}
imageSampleBuffer = nil;
// call the designated delegate
[self.aCDMCameraCaptureNotificationDelegate imageDidSuccessfullyCaptured];
}];