在新的項目的歡迎頁寫了一個倒計時的秒數(shù),使用了CountDownTimer這個android自帶的倒計時工具,最開始按照一般的設置方式,
CountDownTimer countDownTimer=new CountDownTimer(3000,1000) {
@Override
public void onTick(longl) {
time_tv.setText("跳過"+ l /1000+"s");
}
@Override
public void onFinish() {
startActivity();
}
};
countDownTimer.start();
但是每次在1s的時候停留很久,后來打印發(fā)現(xiàn),在onTick方法里只執(zhí)行了2秒,等到調(diào)用onFinish的時候又停了2秒,但通過日志發(fā)現(xiàn),onTick的l值永遠都不是滿的,后來查資料發(fā)現(xiàn)是說硬件時間不是絕對正確的,所以就會有偏差,根據(jù)資料和自己的整理,有了一個解決辦法,就是把每次的間隔時間縮小到可以識別的地步.所以修改后就變成
CountDownTimer countDownTimer=new CountDownTimer(3000,500) {
@Override
public voidonTick(longl) {
time_tv.setText("跳過"+ (l /1000+1) +"s");
}
@Override
public voidonFinish() {
startActivity();
}
};
countDownTimer.start();?
這樣就能完美解決了~~~