0

我正在为 android 编写计时器应用程序(就像我们用于烹饪的应用程序一样)。我曾经CountDownTimer每秒减少剩余时间。但是,因为我对 Threads 很陌生,所以我不知道计时器有延迟。

例如,考虑使用以下简单代码CountDownTimer

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

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

4

1 回答 1

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 个条目没有得到,因为当你统计计时器时,它也会先等待 1000 英里,然后使用 onTick(),所以代码工作正常

谢谢

于 2012-04-04T09:48:48.233 回答