如何改善Android App中的CountDownTimer延迟?

时间:2012-04-04 09:30:39

标签: android multithreading timer delay countdowntimer

我正在为android编写计时器应用程序(就像我们用来烹饪的那个)。我使用CountDownTimer来减少每秒的剩余时间。但是,因为我在Threads这么新,所以我不知道计时器有延迟。

例如,考虑使用CountDownTimer的简单代码:

CownDownTimer timer = new CountDownTimer(60 * 1000, 1000) {
     public void onTick(long millisUntilFinished) {
         System.out.println(millisUntilFinished);
     }
}

当我运行它时,onTick()方法应运行60次,但事实并非如此。相反,它运行大约57次。我发现这是由于延迟。编写计时器应用程序的最准确方法是什么?有什么建议?感谢。

1 个答案:

答案 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(),所以代码工作正常

由于