我正在为android编写计时器应用程序(就像我们用来烹饪的那个)。我使用CountDownTimer
来减少每秒的剩余时间。但是,因为我在Threads这么新,所以我不知道计时器有延迟。
例如,考虑使用CountDownTimer
的简单代码:
CownDownTimer timer = new CountDownTimer(60 * 1000, 1000) {
public void onTick(long millisUntilFinished) {
System.out.println(millisUntilFinished);
}
}
当我运行它时,onTick()
方法应运行60次,但事实并非如此。相反,它运行大约57次。我发现这是由于延迟。编写计时器应用程序的最准确方法是什么?有什么建议?感谢。
答案 0 :(得分:1)
CountDownTimer timer = new CountDownTimer(60*1000, 1000) { public void onTick(long millisUntilFinished) { // TODO Auto-generated method stub Log.e("", "millisUntilFinished"+millisUntilFinished); } @Override public void onFinish() { // TODO Auto-generated method stub } }; timer.start();
我运行此代码,在logcat上我得到59个条目,我认为1个条目没有得到因为当你使用stat计时器时它先等待1000个milies然后再使用onTick(),所以代码工作正常
由于