Handler.postDelayed running for extra time
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