2012-06-16 6 views
11

私はUIScrollViewを持っています。ここでは、スクロールしながらたくさんのビューを配置しています。 apiエンドポイントから画像をダウンロードしています。問題は、スクロールがそれほど滑らかではないということです。これは主に何かがメインスレッドをブロックしているためです。私はコード全体を検索し、UI更新コードをコメントアウトしましたが、スクロールする速度はまだ遅いです。メインスレッドをブロックしているコードを見つける最良の方法は何ですか?

コードのどの部分がメインスレッドをブロックしているかを見つける最も良い方法は何ですか?

答えて

7

Instruments。それにはまったく驚くべきことはありません。アップルのdocumentationでも、CPU関連のタスクが多いことが分かります。

個人的には、私はタイムプロファイラをお勧めします。そのうちの優れたチュートリアルはhereです。

+0

実際に計測器を使用してメインスレッドをブロックしているものを実際に見つけることができますか? – aherlambang

+0

はい、もっと詳しくお願いします:特定のInstrumentsテンプレートは、どの操作が私のメインスレッドをブロックしているかを知るのに役立ちますか?リンクされたAppleのドキュメントには記載されていないか、明白ではありません。 –

+0

これはコードに完全に依存します。インストゥルメントは、場合によってはスレッドデッドロックを検出することができますが、一般的に、スレッドのブロックは手動でスタックトレースを調べるのに適したデバッグタスクです。さらに、スレッドをデッドロックする方法の数は豊富で多様であり、キャッチオールソリューションはAppleにとっても非常に困難です。 – CodaFi

関連する問題