Before all, I am afraid that may cause memory warning if you load all 48 images in to memory, check it with Instrument.
================================
You probably need to force it do the decompressing and rendering before, check this link1 and this link2
Try this, it causes the image to decompress, even though the image context is just 1 pixel large.:
UIGraphicsBeginImageContext(CGSizeMake(1, 1));
[decompressedImage drawAtPoint:CGPointZero];
UIGraphicsEndImageContext();
or something like this:
CGDataProviderRef imageDataProvider = CGDataProviderCreateWithCFData((__bridge CFDataRef)imageData);
CGImageRef image = CGImageCreateWithJPEGDataProvider(imageDataProvider, NULL, NO, kCGRenderingIntentDefault);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef bitmapContext = CGBitmapContextCreate(NULL, CGImageGetWidth(image), CGImageGetHeight(image), CGImageGetBitsPerComponent(image), 0, colorSpace, kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little);
CGColorSpaceRelease(colorSpace);
CGContextDrawImage(bitmapContext, CGRectMake(0, 0, CGImageGetWidth(image), CGImageGetHeight(image)), image);
CGDataProviderRelease(imageDataProvider);
CGContextRelease(bitmapContext);
if (image){
decompressedImage = [UIImage imageWithCGImage:image];
CGImageRelease(image);
}
Hope this is helpful.