アプリがフリーズした場合、何を確認する必要があるかを誰かが知っていますか?つまり、iPad画面にアプリを表示できますが、ボタンが反応しません。ボタンをクリックしたときにコードをデバッグしてみましたが、まだ何も見ていません。 Instrumentsツールについて読んでいました。具体的にはどのように使用しますか?
誰かが私を助けてくれますか?ツールの使い方について説明が必要です。
スタックトレースを一時停止して追跡することに加えて、追加で行うべきこととして、アプリがフリーズする原因となるループがないかコードをチェックインします。
私は最近同様の問題に遭遇しましたが、スタックトレースはあまり役に立たず、layoutsubviewsメソッド内でreloadData()
を呼び出すときに永遠のループがあり、エラーなしでフリーズを引き起こしていることがわかりました。楽器からの助けはありません。
私のプロジェクトでも同様のケースがあり、その理由は、メソッドsetNeedsLayout()
内にlayoutSubviews()
を追加した別の開発者でした。これにより、無限ループが発生し、アプリがフリーズします。
正解は正解です。これは「一時停止」オプションでデバッグできます。メインスレッドをブロックする最も一般的な方法は、ディスパッチする同じスレッドでdispatch_sync
を呼び出すことです。 dispatch_once
から同じコードを呼び出すことがあります。