2012-02-17 18 views
2

メインスレッドがロック/ビジー状態(タッチイベントに応答しない)を検出する方法はありますか?メインスレッドがロック/ビジー状態(IOS)であることを検出する

可能な方向は、[[のUIApplication sharedApplication] isIgnoringInteractionEvents](しかし、私はそのサイズを確認するには、このオブジェクトを操作する方法を知らない)

をdispatch_get_main_queueのサイズを確認 が、この方法は、一度

の一部を作品
+0

あなたはもっと文脈を与えることができますか?なぜあなたはこれをしたいのですか? –

+0

これは、アプリケーションの応答性を向上させるために行うことができます。また、メインスレッドをX秒以上ブロックしているコールを検出する方法を見つけようとしています。もちろん、Time Profilerを使用することはできますが、UIスレッド(メインスレッド)がブロックされた絶対時間は表示されません。 –

+0

実行中のスレッドのID番号を表示して、現在実行中のスレッドの直観を得ることができます。 –

答えて

2

計測ツール「time profiler」を使用して、メインスレッドをブロックしているものについてのヒントを見つけます。

例: メソッドがメインスレッドの12.7%CPU時間を実行していることがわかりました。 次に、名前が「waitingThread」であることがわかります。メソッドがメインスレッドをブロックしているようです。

enter image description here

関連する問題