5

CountDownTimerAlarmManagerの間に大きな違いはありますか? 構文や使用方法を意味するものではありませんが、別のタスクではなく、そのうちの 1 つを使用する必要があると確実に言えるようなタスクがあるかどうか疑問に思っていますか?
簡単な例として、1 分に 1 回何らかのアクションを起動する必要があります。何を使えばいいですか?CountDownTimer または AlarmManager? それはどのように依存しますか?

4

3 に答える 3

2

AlarmManager通常、アプリケーションを閉じる場合、または繰り返しタスクを実行する必要がある場合に使用されます。Timerまた、またはよりもわずかに精度が低くなりHandlerます。

CountDownTimer期間(onFinish)で特定のタスクを実行し、実行されるまで定期的に更新される()ために使用されonTickます。

AlarmManagerあなたの特定のケースでは、それが無期限に繰り返される可能性があるので、あなたはを使うべきだと私は信じています。たとえば、何かを1秒ごとに10秒間実行する場合は、を使用しますCountDownTimer

于 2012-10-10T19:49:08.190 に答える
2

CountDownTimer

CountDownTimer はアクティビティのコンテキストで実行されます。アプリがフォアグラウンドにない場合、いつでも強制終了できることを意味します。

AlarmManager

まったく異なるアプローチでは、Sticky Intents を使用します。Receiverそして、しばらくしてからあなたに伝えます。アクティビティのライフサイクルには依存しません。

したがって、アプリがフォアグラウンドでなくても、毎分何らかの操作を実行したい場合は、 を使用する必要AlarmManagerCountDownTimerあります。

于 2012-10-10T19:52:52.090 に答える
0

ここで説明されているように:

: Alarm Manager は、アプリケーションが現在実行されていなくても、特定の時間にアプリケーション コードを実行する場合を対象としています。通常のタイミング操作 (ティック、タイムアウトなど) では、Handler を使用する方が簡単で効率的です。

アプリが閉じていてもアクションを実行したくないので、あなたの場合は CountDownTimer を使用することをお勧めします。

于 2012-10-10T19:46:10.983 に答える