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 МБ

Другие вопросы по тегам