0

私はアンドロイド用のタイマーアプリケーション(私たちが料理に使用するもののような)を書いています。以前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 に答える