1

重い処理のほかに、UIの応答性が低い場合は、主にマルチスレッドを使用する必要がありますか?または他の考慮事項がありますか?アプリケーションにマルチスレッドが必要かどうかをどのように知ることができますか?

4

3 に答える 3

0

iOSでのスレッドの重要なアプリケーションの1つは、ネットワーク通信中です。アプリ全体がサーバーとの通信であり、UR UIでビジービューを表示する場合は、このようなシナリオでスレッドを作成して、バックグラウンドスレッドでネットワーク通信を実行する必要があります。

IOS 5では、スレッドの代わりにGCD(Grand Central Dispatch)を選択して、同じ機能を実行できます。

于 2012-05-12T04:52:16.423 に答える
0

基本的にiOS開発中は、完了までに時間がかかるのThreads影響を避けたい場合に使用されます。たとえば、xml、json、画像データなどを解析するために を作成する場合、その時点でユーザーを停止したくない場合は、を使用できます。UIprocessconnectioninteractionthreads

を使用してスレッドを開始できますNSThread

スレッドを使用する前に考慮すべきこと -

  • スレッド内でグラフィカルな変更を行うべきではありません。スレッドでそれが必要な場合は
    、でのみ実行できますmain thread
  • 実行前に完了する可能性があり、タイマーが実行されない可能性があるためNSTimer、セカンダリで a を使用しない でください。threadthreadtimer

長時間実行したいときはいつでもprocess使用できますthread

于 2012-05-12T04:44:07.263 に答える
-3

iOS でのスレッド化の使用は、エンドユーザーによる手間のかからないシームレスなエクスペリエンスを保証することです。解析やデータ取得など、ネットワーク経由でリソースを抽出したいときはいつでもスレッドを実装できます。また、アプリケーションがメイン スレッドで実行され、Web 操作がカスタム スレッドで実行されるため、UI が影響を受けないようにする必要があります。

同時操作が必要な場合、またはゲーム内で同じオブジェクトに複数のアニメーションを同時に使用する必要がある場合などに、スレッドを使用することをお勧めします。

Appleによる同時実行プログラミングガイドを読むことができます

およびスレッド管理

ただし、スレッドはメモリ割り当てが必要なためアプリケーションのオーバーヘッドになる可能性があり、スレッドでの大規模な操作はパフォーマンスに影響を与える可能性があるため、回避できない場合に使用します。

NSThread,NSOperations を使用してスレッドを作成できます。GCD は現在非推奨です。

于 2012-05-12T05:43:17.567 に答える