CGImageSourceRef内存泄漏

时间:2013-02-05 19:53:55

标签: cocoa memory-leaks cgimagesource

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;

我正在使用带有ARC的XCode。 当我在循环中的许多图像上运行它时,此代码会导致我的应用程序泄漏内存。 有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

围绕代码包装@autoreleasepool解决了这个问题。图像大约为1.2MB