【发布时间】:2012-02-18 04:15:51
【问题描述】:
我有一个从网络加载的图像网格,但滚动时有一点延迟/卡顿。我正在使用异步ASIHTTPRequest 来发出请求,因此下载本身是在单独的线程中进行的,但由于 UIKit 不是线程安全的,一旦我收到NSData 响应,我必须调用@987654323 @ 在主线程上。
分析表明,到目前为止,瓶颈由UIImage initWithData 调用的内部PNG 解析函数组成。我有兴趣在后台线程中执行此操作,因此主 UI 保持响应性并且延迟更少。
但我不确定如何执行此操作。听起来正确的方向是使用CGImageRef,因为Core Graphics 是线程安全的,但我只看到CGImageCreateWithPNGDataProvider 和CGImageCreateWithJPEGGDataProvider,而UIImage initWithData 支持大量图像类型。
我想要与UIImage initWithData 具有相同功能但没有线程安全问题的东西。
【问题讨论】:
标签: iphone cocoa-touch uiimage