我正在尝试将一些图像加载移动到背景中。目前我正在后台加载 UIImages 但从我所阅读的内容来看,这不是建议的方法,而是我应该在后台加载 CGImageRef,然后在主线程中从它加载 UIImage。
问题是当我尝试创建一个时CGImageRef
,它会返回为空。示例代码:
NSData * imageData = [NSData dataWithContentsOfFile: coverPath];
if(nil != imageData)
{
UIImage * uiImage = [UIImage imageWithData: imageData];
CGDataProviderRef provider = CGDataProviderCreateWithCFData((__bridge CFDataRef) imageData);
CGImageRef imageRef = CGImageCreateWithPNGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);
NSLog(@"Test: %p, %p", imageRef, uiImage);
CGDataProviderRelease(provider);
}
哪个注销Test: 0x0, 0x1c566bb0
。这意味着 imageRef 为空,但 uiImage 不是。有什么想法我在这里做错了吗?似乎这应该很简单?