20

私は少し混乱していて、AndroidTimerで使用しています。AlarmManager

それらの主な違いは何ですか?

どちらも A 秒ごとに実行するタスクをスケジュールしています。そして、それらが使用されることが好まれる主なシナリオは何ですか?

たとえば、X の場合は を使用しますTimerが、Y の場合は を使用しますAlarmManager

4

2 に答える 2

32

ATimerは、いつコードを開始するかを追跡するスレッドを開始します。デバイスがスリープ状態になると、タイマー スレッドもスリープ状態になり、コードは時間どおりに実行されなくなります。AlarmManager一方、 のアラームはカーネルレベルです。それらを登録する方法に応じて、デバイスのウェイクアップを要求するか、次回デバイスをウェイクアップするときに実行することができます。アラームは一般的に好まれ、使用するリソースが少なくなります。

于 2013-01-29T09:21:10.793 に答える
0

タイマーは、実際には何もしていないと思っていても、非常に頻繁にコードを実行するサービスを開始します。

一方、Alarmmanager は常にバックグラウンドで実行されるサービスを開始します。これは、アプリが開いていないときにコードを実行するようにスケジュールするために使用するものです。

于 2013-01-29T09:06:14.960 に答える