カウント ダウン タイマーの GrepCodeは、Handler を使用していることを示しています。ハンドラーを使用する特定の理由はありますか? ハンドラーは通常、スレッドを使用してユーザーと対話するときに使用されるためです。しかし、ここではカウントダウン タイマーで確認できるスレッドはありません。また、カウントダウンタイマーは、UI スレッド自体で使用すると機能します。
3 に答える
ハンドラーは通常、スレッドを使用してユーザーとやり取りするときに使用されるためです
真実。ただし、「通常」 != 「常に」。
には、 や など、Handlerタイミングの目的で便利なメソッドがpostDelayed()ありsendMessageDelayed()、それCountDownTimerを利用しています。それらを自分で使用することもできます。Timerお気づきのように、別のスレッドが必要ないため、それらは素晴らしく軽量TimerTaskです。
また、カウントダウンタイマーは、UI スレッド自体で使用すると機能します。
Looper使用するには付属の糸が必要Handlerです。CountDownTimerは通常、メイン アプリケーション スレッドで使用されます。そうでない場合は、別のHandlerThread.
スレッド間の通信だけでなく、handler を使用できます。ハンドラーは、定義された時間 (postDelayed 関数) の後にいくつかのコードを実行する機能でした。Android OS Handler では、時間間隔後にコードを実行する必要がある場合に備えて、(Java タイマーの代わりに) 使用するツールが推奨されます。カウント ダウン タイマーでは、ハンドラーを使用して 1 秒間隔でコードをチューニングします。