我使用mhandler.postDelayed(runnable,5000)每5秒将数据写入一个文件。
当屏幕关闭时,我从文件中观察到postDelayed(runnable,5000)的时间。 它有时是准确的但是在一小时后,postDelayed(可运行,5000)的时间增加到10秒。
两小时后,postDelayed(runnable,5000)的时间增加到15secs。 三个小时后,postDelayed(runnable,5000)的时间增加到20secs等等。
postDelayed触发时序随时间变化似乎很奇怪。
我期待这个或我的代码中有错误吗?
答案 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();