CGImageSourceRef memoryleak
NSDictionary* result = nil;
CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)[self TIFFRepresentation], NULL);
if ( NULL == source )
{
}
else
{
CFDictionaryRef metadataRef = CGImageSourceCopyPropertiesAtIndex (source, 0, NULL);
if (metadataRef)
{
NSDictionary* immutableMetadata = (__bridge NSDictionary *)metadataRef;
if (immutableMetadata)
{
result = [NSDictionary dictionaryWithDictionary : (__bridge NSDictionary *)metadataRef];
}
CFRelease(metadataRef);
metadataRef = nil;
}
CFRelease(source);
source = nil;
}
return result;
Я использую XCode с ARC. Этот код вызывает утечку памяти в моем приложении, когда я запускаю его на многих изображениях в цикле. Кто-нибудь знает, что я сделал не так?
1 ответ
Решение
Обертывание @autoreleasepool вокруг кода решило проблему. Изображения были около 1,2 МБ