2

カウント ダウン タイマーの GrepCodeは、Handler を使用していることを示しています。ハンドラーを使用する特定の理由はありますか? ハンドラーは通常、スレッドを使用してユーザーと対話するときに使用されるためです。しかし、ここではカウントダウン タイマーで確認できるスレッドはありません。また、カウントダウンタイマーは、UI スレッド自体で使用すると機能します。

4

3 に答える 3

3

ハンドラーは通常、スレッドを使用してユーザーとやり取りするときに使用されるためです

真実。ただし、「通常」 != 「常に」。

には、 や など、Handlerタイミングの目的で便利なメソッドがpostDelayed()ありsendMessageDelayed()、それCountDownTimerを利用しています。それらを自分で使用することもできます。Timerお気づきのように、別のスレッドが必要ないため、それらは素晴らしく軽量TimerTaskです。

また、カウントダウンタイマーは、UI スレッド自体で使用すると機能します。

Looper使用するには付属の糸が必要Handlerです。CountDownTimer通常、メイン アプリケーション スレッドで使用されます。そうでない場合は、別のHandlerThread.

于 2013-10-14T18:03:52.673 に答える
1

スレッド間の通信だけでなく、handler を使用できます。ハンドラーは、定義された時間 (postDelayed 関数) の後にいくつかのコードを実行する機能でした。Android OS Handler では、時間間隔後にコードを実行する必要がある場合に備えて、(Java タイマーの代わりに) 使用するツールが推奨されます。カウント ダウン タイマーでは、ハンドラーを使用して 1 秒間隔でコードをチューニングします。

于 2013-10-14T18:02:59.070 に答える