2012-06-16 123 views
11

我有一個UIScrollView,我在放置一堆視圖時,你正在滾動。它正在從api終點下載圖像。問題在於滾動並不像應該那樣順暢。我知道這是因爲大部分東西阻塞了主線程。我已經搜遍了整個代碼並註釋掉了任何UI更新代碼,但滾動速度仍然很慢。查找阻止主線程的代碼的最佳方法是什麼?

什麼是最好的方法來找到代碼的哪一部分阻止主線程的任何指針?

回答

7

儀器。沒有什麼比這更令人驚訝的了。即使是蘋果的documentation也提到尋找高CPU相關的任務。

雖然我個人推薦Time Profiler。其中,可以找到一個很好的教程here

+0

你真的能找到阻礙使用樂器的主線程的東西嗎? – aherlambang

+0

是的,請詳細說明:哪些特定的樂器模板可以幫助我找到哪些操作阻止了我的主線程?或者在鏈接的Apple文檔中未提及,或者不明顯。 –

+0

完全取決於您的代碼。儀器可以在某些情況下發現線程死鎖,但通常線程阻塞通常是一項更適合手動檢查堆棧跟蹤的調試任務。此外,線程死鎖的方式數量充足且多種多樣,甚至連蘋果公司都非常困難。 – CodaFi

相關問題