我正在尝试尽可能快地加载和decode
图像,同时在执行时有一些取消操作的方法。我目前使用CGImageCreateWithPNGDataProvider
获取数据,然后CGBitmapContextCreate/CGContextDrawImage
强制解码。然后,我使用生成的CGImageRef
位图创建一个UIImage。
这种方法的一个问题是绘图调用可能需要几秒钟才能返回非常大的图像。如果我的应用程序确定不再需要该图像,我无法取消该操作以将资源提供给需要加载的其他图像。
有没有办法在不牺牲太多性能的情况下分多步渲染图像?我尝试使用CGImageCreateWithImageInRect
在部分渲染图像,但这样做的时间比在一次渲染中渲染图像长10到20倍。
非常感谢有关此主题的任何意见!