3
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を使用しています。このコードにより、ループ内の多くの画像でアプリを実行すると、アプリでメモリ リークが発生します。誰かが私が間違ったことを知っていますか?

4

1 に答える 1

2

@autoreleasepool コードをラップすると、問題が解決しました。画像は約1.2MBでした

于 2013-02-06T11:28:03.147 に答える