毕竟,如果您将所有 48 张图像加载到内存中,恐怕会导致内存警告,请使用 Instrument 进行检查。
=================================
您可能需要先强制它进行解压缩和渲染,请检查此链接1和此链接2
试试这个,它会导致图像解压缩,即使图像上下文只有 1 个像素大。:
UIGraphicsBeginImageContext(CGSizeMake(1, 1));
[decompressedImage drawAtPoint:CGPointZero];
UIGraphicsEndImageContext();
或类似的东西:
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);
}
希望这会有所帮助。