Timertask o Handler

Digamos que quiero realizar alguna acción cada 10 segundos y no necesariamente es necesario actualizar la vista.

La pregunta es: ¿es mejor (me refiero a más eficiente y efectivo) usar el temporizador con timertask como aquí?

final Handler handler = new Handler();

TimerTask timertask = new TimerTask() {
    @Override
    public void run() {
        handler.post(new Runnable() {
            public void run() {
               <some task>
            }
        });
    }
};
timer = new Timer();
timer.schedule(timertask, 0, 15000);
}

o simplemente un manejador con postdelayed

final Handler handler = new Handler(); 
final Runnable r = new Runnable()
{
    public void run() 
    {
        <some task>
    }
};
handler.postDelayed(r, 15000);

También le agradecería que me explicara cuándo usar qué enfoque y por qué uno de ellos es más eficiente que otro (si realmente lo es).

Respuestas a la pregunta(2)

Su respuesta a la pregunta