0

私は自分のプログラム (Timer クラス) でメソッド scheduleAtFixedRate を使用しています。1 秒ごとに実行されますが、このメソッドは非常に高速になることがあります (1 秒あたり 3 ~ 4 回実行されます)。

しかし、私はウェブでいくつかの調査を行い、これを見つけました:

Android開発者のページからコピー:

固定レートの実行では、タスクの連続する各実行の開始時刻は、前回の実行がいつ行われたかに関係なくスケジュールされます。これにより、タイマーが時間通りにタスクを開始できない場合、一連の実行がまとめて実行される可能性があります (1 つの実行が次々に開始される)。

固定タイマーが必要です。高速実行なしで x 時間に 1 回だけ実行する必要があります。scheduleAtFixedRate メソッドに代わるものはありますか、それともこのメソッドに満足する必要がありますか?

4

2 に答える 2

0

タスクの実行に 1 秒以上かかる場合は、複数のスレッドを使用して、代わりにScheduledExecutorServiceを試すことができます。

構文は Timer に非常に似ていますが、より堅牢で柔軟な API です。

于 2013-02-11T18:26:50.403 に答える