1

CountDownTimer内部で aを使用するアプリがありBraodcastReceiverます。CountDownTimer1時間以上可能です。タイマーは、通知領域にカウントダウンを表示します (秒間隔)。

一部のユーザーは、アプリが長いカウント ダウンでハングしているように見えると報告しています。CountDownTimer はウィジェットによってトリガーされます。

CountDownTimerOS が a を停止して再利用できるかどうかを知っている人はいますか?

別の方法は、サービスを実行する 1 秒間隔で繰り返しアラームを設定することです。より良いオプションはありますか?

4

1 に答える 1

3

OS が CountDownTimer を停止して再利用できるかどうかを知っている人はいますか?

あなたのプロセスになります。

別の方法は、サービスを実行する 1 秒間隔で繰り返しアラームを設定することです。

「繰り返しアラーム」が意味する場合、それは実際的な意味でのオプションではありませんAlarmManagerAlarmManager毎秒のイベント用に設計されていません。

より良いオプションはありますか?

これは、フォアグラウンド サービスを正当化する数少ないケースの 1 つです。Notificationとにかく があり、あなたのアプローチAlarmManagerはとにかくサービスを常に維持するため、 を省略してサービスを維持するためにAlarmManager使用startForeground()することもできます。Notificationで使用している を更新し、バックグラウンド スレッドで毎秒制御を取得するためにstartForeground()使用します。ScheduledExecutorService

カウントダウンが終了したら、stopForeground()とを呼び出しstopSelf()て、すべてを取り除きます。

于 2013-08-08T12:52:40.037 に答える