CountDownTimer可用于提示作用,其用法较为简单,下面是文档中的一段用法:
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
其作用是从30s开始以1s为间隔倒计时,并在每个间隔执行onTick方法(显示剩余时间),当倒计时完onFinish(显示“done”)。
此处注意一点是onTick的调用是同步的,即如果上次onTick没有执行完则本次不会调用,而是等下一次满足条件(下一个间隔onTick中已执行完毕)时再调用onTick方法。
举个例子:如果第一次进入onTick方法并执行一段耗时超过1s(间隔时间),假设耗时1.1s,则第二次进来不执行onTick方法,因为onTick同步,只能等上次的走完。所以两次调用的间隔为2s。