2011-07-15 55 views
0

我通過NSOparationInvokation加載圖像並在主線程中調用了方法,該方法將此圖像添加到滾動視圖中,但app幾乎沒有滯後。如果我加載圖像,但沒有添加它的視圖,應用程序正常工作,如果我添加測試按鈕視圖應用程序也正常工作,如果我加載圖像和添加測試按鈕查看應用程序不會滯後。通過__spin_lock中的分析器問題。有人知道什麼是錯的? 謝謝。iOS線程問題

回答

3

在iOS上使用線程時,您應該永遠不會有撥打電話UIKit。這就是爲什麼它不會加載。把它放在主線上,它會工作。

+1

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Multithreading/AboutThreads/AboutThreads.html#//apple_ref/doc/uid/10000057i-CH6-SW2「如果您的應用程序有一個圖形用戶界面,建議您接收用戶相關事件並從應用程序的主線程啓動接口更新[...]。一些框架(如Cocoa)通常需要這種行爲,但即使對於那些沒有的,保持主線程上的這種行爲具有簡化用於管理用戶界面的邏輯的優點。「 – Steve

+0

是的,這是很長的答案。 +1的研究工作。 – Pripyat