Android:mhandler.postDelayed()在屏幕关闭时不准确

时间:2013-06-21 08:08:39

标签: android

我使用mhandler.postDelayed(runnable,5000)每5秒将数据写入一个文件。

当屏幕关闭时,我从文件中观察到postDelayed(runnable,5000)的时间。 它有时是准确的但是在一小时后,postDelayed(可运行,5000)的时间增加到10秒。

两小时后,postDelayed(runnable,5000)的时间增加到15secs。 三个小时后,postDelayed(runnable,5000)的时间增加到20secs等等。

postDelayed触发时序随时间变化似乎很奇怪。

我期待这个或我的代码中有错误吗?

1 个答案:

答案 0 :(得分:0)

你应该尝试使用除Handler之外的其他东西。

尝试Timer

int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        //...Perform a task...
    }
};
new Timer(delay, taskPerformer).start();