I am writing an handler to run for an fix amount(30 Sec) time. Basic on that it update counter to draw a view component.
counterRunnable = new Runnable() {
int currV = 0;
public void run(){
if(count >= 360) {
counterHandler.removeCallbacks(this);
onTimerComplete();
} else {
count++;
counterHandler.postDelayed(this, 83); // (30/360) = ~83
}
}
};
As I am running back it for delay of 83ms for 360 time (83*360 = 29880ms ~30 Sec) but it is running for ~39 sec. Any suggestion if I am doing anything wrong.
Analysis: I checked same with Timer(scheduled at fix rate) and it's performing better as compare Handler.postDelay but still any suggestion why postDelay worst here ?