O que exatamente o método post faz?

Eu encontrei um recurso muito estranho.

Quando estou tentando executar uma animação no thread principal, ela não inicia. Quando eu corro dita animação usando

getView().post(new Runnable() {
            @Override
            public void run() {
                getView().startAnimation(a);
            }
        });

Isso começa.

Eu imprimi oCurrentThread antes de iniciar a animação e ambos imprimirmain.

Obviamente, estou faltando alguma coisa aqui, como ambos devem iniciar a animação no thread principal ... Meu palpite é que como post adiciona a tarefa para a fila, ele começa em um momento mais "correto", mas eu gostaria de saber o que acontece aqui com mais profundidade.

EDIT: Deixe-me esclarecer as coisas - a minha pergunta é, por que iniciar a animação no post faz com que ele comece, ao iniciar a animação no segmento principal não.

questionAnswers(4)

yourAnswerToTheQuestion