我有一個網頁加載的圖像網格,但滾動時會有一點滯後/斷鏈。我使用異步ASIHTTPRequest
來發出請求,所以下載本身發生在一個單獨的線程中,但由於UIKit不是線程安全的,一旦我收到NSData
響應,我必須在主線程上調用UIImage initWithData
。在iPhone上異步加載圖像
分析顯示,到目前爲止,瓶頸由UIImage initWithData
調用的內部PNG解析函數組成。我感興趣的是在後臺線程中這樣做,所以主UI保持響應並且滯後較少。
但我不確定如何做到這一點。聽起來像正確的方向是使用CGImageRef
,因爲核心圖形是線程安全的,但我只看到CGImageCreateWithPNGDataProvider
和CGImageCreateWithJPEGGDataProvider
,而UIImage initWithData
支持大量的圖像類型列表。
我想要的東西與UIImage initWithData
具有相同的功能,但沒有線程安全問題。
謝謝。你知道文檔是否指定這是好的嗎? – Bill 2012-02-18 17:45:56
老實說,我不知道它是否在文檔中。不過,我從來沒有遇到過這個問題。 – pgb 2012-02-19 00:15:12