Added auto release pool to keep memory foot print down when retrieving image from disk in queryDiskCacheForKey
This commit is contained in:
parent
7d6e17c43c
commit
9f4e6915c7
|
@ -195,18 +195,21 @@ static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7; // 1 week
|
||||||
|
|
||||||
dispatch_async(self.ioQueue, ^
|
dispatch_async(self.ioQueue, ^
|
||||||
{
|
{
|
||||||
UIImage *diskImage = [UIImage decodedImageWithImage:SDScaledImageForPath(key, [NSData dataWithContentsOfFile:[self cachePathForKey:key]])];
|
@autoreleasepool
|
||||||
|
|
||||||
if (diskImage)
|
|
||||||
{
|
{
|
||||||
CGFloat cost = diskImage.size.height * diskImage.size.width * diskImage.scale;
|
UIImage *diskImage = [UIImage decodedImageWithImage:SDScaledImageForPath(key, [NSData dataWithContentsOfFile:[self cachePathForKey:key]])];
|
||||||
[self.memCache setObject:diskImage forKey:key cost:cost];
|
|
||||||
|
if (diskImage)
|
||||||
|
{
|
||||||
|
CGFloat cost = diskImage.size.height * diskImage.size.width * diskImage.scale;
|
||||||
|
[self.memCache setObject:diskImage forKey:key cost:cost];
|
||||||
|
}
|
||||||
|
|
||||||
|
dispatch_async(dispatch_get_main_queue(), ^
|
||||||
|
{
|
||||||
|
doneBlock(diskImage, SDImageCacheTypeDisk);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch_async(dispatch_get_main_queue(), ^
|
|
||||||
{
|
|
||||||
doneBlock(diskImage, SDImageCacheTypeDisk);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue