我正在使用一个简单的 CountDownTimer
并每毫秒调用一次 onTick()
:
final int[] i = new int[1];
CountDownTimer countDownTimer = new CountDownTimer(1000, 1) {
@Override
public void onTick(long millisUntilFinished) {
Log.i("Time left", millisUntilFinished + "");
i[0]++;
}
@Override
public void onFinish() {
Log.i("i = ", i[0] + "");
}
};
问题是虽然计时器在正确的时间结束,但是 onTick()
方法并不是每毫秒都被调用一次。每次都会错过几毫秒。
我使用日志检查它,发现 i[0]
的值最后是 597,而它应该是 999,因为每次 onTick( )
被调用。是否有精度误差?
最佳答案
您可以像这样创建处理程序:
Handler timer = new Handler();
timer.postDelayed(new TimerTask() {
@Override
public void run() {
// Make something
}
}, 1000);
关于android - CountdownTimer onTick() 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35861546/