When writing :
CountDownTimer timer = new CountDownTimer(1000, 100) { @Override public void onTick(long l) { } @Overr
CountDownTimer's implementation uses Handler and sendMessageDelayed(), so no background thread is needed. This does mean that the timer will not update if you are tying up the main application thread elsewhere in your code.
CountDownTimer
Handler
sendMessageDelayed()