gpt4 book ai didi

java - 每次连续调用此 `timerMethod` 时,timerInt 的值都会比以前增加得更快

转载 作者:行者123 更新时间:2023-12-02 07:44:19 25 4
gpt4 key购买 nike

我正在开发一个应用程序,它可以通过事件重新启动。第一次运行时,计时器运行良好(1 秒 = 1 增量)。但是,在下一次运行(1秒 = 2 增量)、第三次运行(1秒 = 4 增量)等......我认为创建的新 TimerTask 对象有问题。但是,不知道如何处理。有什么建议或替代方案吗?

代码 fragment :

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。您要么不需要多次调用它,要么在添加更多计时器任务之前取消现有的计时器任务。

如果情况并非如此,请提供一个简短但完整的程序来显示发生的情况。目前上下文相当模糊。

关于java - 每次连续调用此 `timerMethod` 时,timerInt 的值都会比以前增加得更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11099835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com