gpt4 book ai didi

android - TimerTask 在时间向前跳跃后被重复调用

转载 作者:行者123 更新时间:2023-11-29 19:46:45 24 4
gpt4 key购买 nike

我在我的android代码中添加了一个TimerTask:

private class MyTimerTask extends TimerTask {

@Override
public void run() {
//do some task...
}
}

并按如下方式调用它:

myTimer = new Timer();
//set the rate as 1 min
myTimer.scheduleAtFixedRate(new MyTimerTask(), 0,
60*1000);

现在,如果我关闭自动时间更新(从网络)并将日期设置为明天的日期,则计时器任务每 5 毫秒开始运行一次。

为此,我不知道为什么会这样,我需要解决这个问题。我已经改用处理程序,但我希望 TimerTask 能够正常运行。

请在这方面帮助我......

最佳答案

由于您使用 scheduleAtFixedRate 而不是 schedule 它会 try catch 最后一天“错过的”执行。

来自API documentation :

With fixed-rate execution, the start time of each successive run of a task is scheduled without regard for when the previous run took place. This may result in a series of bunched-up runs (one launched immediately after another) if delays prevent the timer from starting tasks on time.

关于android - TimerTask 在时间向前跳跃后被重复调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477909/

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