Всем привет, пытаюсь разобраться с таймером, но он работает как-то странно, либо я не понимаю(скорее это)
public class MyTimer extends CountDownTimer{
int current_prg = 80;
public GameTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long l) {
current_prg--;
Log.d("TAG", "TICK "+l+" : "+current_prg);
}
@Override
public void onFinish() {
Log.d("TAG", "FINISH : "+current_prg);
}
}
Запускаю:
MyTimer timer = new MyTimer(8000,100);// каждые 100 миллисекунд в течении 8 секунд (80 раз)
timer.start();
___
По идее, как я понял, каждые 100 миллисекунд будет выполнятся onTick, как пройдет 8 секунд выполнится onFinish
И в моем случае current_prg должен быть равен 0, но он равен когда 21, когда 30, почему?
Не понимаю...
Еще onTick(long l) - думал l будет кратно 100, например 7900,7800,7700 и тд, но в деле он идет примерно так:
7880, 4999,4897 и тд (взял из лога)
Объясните пожалуйста, почему так, вообще понять не могу...