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。
当我在一个循环中的许多图像上运行它时,此代码导致我的应用程序泄漏内存。
有人知道我做错了吗?
最佳答案
将@autoreleasepool包裹在代码周围解决了该问题。图片约1.2MB
关于cocoa - CGImageSourceRef内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14715805/