1

mhandler.postDelayed(runnable,5000) を使用して、5 秒ごとにファイルにデータを書き込みます。

画面がオフのとき、ファイルから postDelayed(runnable,5000) のタイミングを観察しました。しばらくは正確ですが、1 時間後に postDelayed(runnable,5000) のタイミングが 10 秒に増加します。

2 時間後、postDelayed(runnable,5000) のタイミングは 15 秒に増加します。3 時間後、postDelayed(runnable,5000) のタイミングは 20 秒に増加します。

postDelayed トリガーのタイミングが時間とともに変化するのは非常に奇妙に思えます。

私はこれを期待していますか、それとも私のコードにエラーがありますか?

4

1 に答える 1

0

Handler 以外のものを使用するようにしてください。

タイマーを試す:

int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        //...Perform a task...
    }
};
new Timer(delay, taskPerformer).start();
于 2013-06-21T08:16:23.250 に答える