0

ハンドラーを頻繁に使用して、遅延スレッドの投稿、UI スレッドのスケジュールなどを行います。

ビュー mV1、mV2、およびスレッドを持つアクティビティ A1 を想像してください。

class A1 extends Activity {

     LightView mV1;
     UltraComplexView mV2;
     Handler mHandler;

     private Runnable oneSecondTimerRunnable() {
          Log.d(TAG, "One second more");

          mHandler.postDelayed(oneSecondTimerRunnable, INTERVAL); // 1st way
          mV1.postDelayed(oneSecondTimerRunnable, INTERVAL);      // 2nd way
          mV2.postDelayed(oneSecondTimerRunnable, INTERVAL);      // 3rd way
     }
}

質問:

  • すべてのビューには独自の独立したハンドラーがありますか? それらは関連していますか?1 つのハンドラーをオーバーロードして、別のハンドラーをフリーにすることはできますか (例: LightView<>ultraComplexView)

  • ビジネスを処理するための独自のハンドラーを作成する代わりに、ビューのハンドラーを使用して、ビューに実際には関係のないものを postDelay することは理にかなっていますか?

Handler はかなり複雑なクラスで、システム スレッドやルーパーなどと密接に関連しているように見えるので、質問します。

4

1 に答える 1

0

私はアクティビティでハンドラーを頻繁に使用して、runnables を使用するよりもはるかに優れている handleMessage をオーバーライドします。

于 2013-06-18T21:10:49.467 に答える