0

パフォーマンスに問題がある iOS アプリがあります。特に、ユーザーが特定のコア データに基づく UITableView で項目を選択すると、UI が更新されるまでに遅延が発生します。現時点では、アプリにマルチスレッドがほとんどないため、どこかでメソッド呼び出しを行っているため、時間がかかりすぎて UI スレッドをブロックしていると推測されます。

コードをステップ実行しても、何も明らかになりません。(おそらく、問題が実行ループの別のトリップにあるためでしょうか?わかりません...私はしっかりした iOS 開発者ですが、デバッグ ツールとプロファイリング ツールに関しては初心者です。)

このような問題に取り組む最善の方法は何ですか? スレッドが順番に実行していること、および各呼び出しにかかる時間などをステップスルーまたはトレースする方法はありますか?

ありがとう。

4

2 に答える 2

0

Instruments の Time Profiler をチェックしてください。メイン キューのブロックを回避するためにバックグラウンド キューに入れる候補メソッドをプロファイラーを使用して特定する方法の実践的なデモンストレーションについては、WWDC 2012 - Building Concurrent User Interfaces on iOSを参照してください。

Instruments ツールの基本的な説明については、 Instruments ユーザー ガイドを参照してください。ただし、WWDC ビデオは、この特定の計測器である Time Profiler に慣れるためのより効果的な方法だと思います。また、コア データの同時実行を行ったことがない場合は、コア データ プログラミング ガイドの「コア データの同時実行」セクションも参照してください。

于 2012-12-06T17:01:12.123 に答える
0

私は言われたことを二番目にします: で使用するRobアプリのボトルネックが何であるかをより簡単に見つけることができます。Rob からのすべてのリファレンスは、特に WWDC からのリファレンスが優れています。私はまた、基本をカバーするこのツタンカーメンにも出くわします。Time ProfilerInstrumentsmobile tuts

于 2012-12-06T17:10:12.843 に答える