我正在开发一个应用程序,该应用程序会通过事件重新启动。在第一次运行时,计时器运行完美(1秒= 1增量)。但是,在下一次运行(1秒= 2增量)在下一次运行(1秒= 4增量),依此类推...
我认为正在创建的新TimerTask对象有问题。但是,不知道如何处理。有什么建议或替代吗?
代码片段:
Timer t = new Timer();
void timerMethod()
{
t.schedule(new TimerTask() {
public void run() {
timerInt++;
//TODO bug in timer in consecutive runs. To confirm, see log
Log.d("timer", "timer " + timerInt);
/* runOnUiThread(new Runnable() {
@Override
public void run() {
timerDisplayPanel.setText( timerInt + " Sec");
}
});*/
}
}, 1000, 1000);
}
最佳答案
听起来您要多次拨打timerMethod()
。
调用三次后,您将安排三个计时器任务-因此它们将每秒触发一次,并且全部递增timerInt
。您无需多次调用它,或在添加更多定时器之前取消现有的计时器任务。
如果不是这种情况,请提供简短但完整的程序以显示正在发生的事情。目前的情况还很模糊。