class MyTimer extends CountDownTimer{
private static final String TAG = "HeartBeatTimer";
private static final long MILLIS_IN_FUTURE = 4000;
private static final long COUNT_DOWN_INTERVAL = 1000; // MILLIS_IN_FUTURE/2
public HeartBeatTimer(){
super(MILLIS_IN_FUTURE, COUNT_DOWN_INTERVAL);
}
@Override
public void onFinish() {
Log.d(TAG, "onFinish");
}
@Override
public void onTick(long millisUntilFinished) {
Log.d(TAG, "onTick" + millisUntilFinished);
}
}
android自己的sdk里面帶了一個CountDownTimer, 可以用倒計時的方式處理一些問題.
09-19 17:07:30.098: DEBUG/HeartBeatTimer(29362): ON START
09-19 17:07:30.098: DEBUG/HeartBeatTimer(29362): onTick3996
09-19 17:07:31.098: DEBUG/HeartBeatTimer(29362): onTick2995
09-19 17:07:32.098: DEBUG/HeartBeatTimer(29362): onTick1994
09-19 17:07:34.098: DEBUG/HeartBeatTimer(29362): onFinish
我實驗的時候, 出現了一個問題, 百思不得其解:
在這里例子里我設置定時時長為4s, 間隔時間為1s ;按道理應該每隔1s, 有一個ontick調用, 但最后一次ontick 和onFinish之間的間隔是2s.