Androids Handler.post, was genau passiert

Seit einigen Tagen habe ich versucht herauszufinden, was genau passiert, wenn ich Code ausführe

void function(){

  //somePreExecutionCode
  new Handler().post(new Runnable(){
    @Override 
    public void run(){
       //someCode
    }
  });
}

Es scheint, als würde es die Benutzeroberfläche nicht blockieren. Daher bleiben Schaltflächen, die function () aufrufen, nicht an der angeklickten Position hängen, bis someCode beendet ist. Wenn jedoch somePreExecutionCode eine Fortschrittsleiste startet, wird die Fortschrittsleiste genau im selben Moment angezeigt, in dem someCode beendet wurde. Ich weiß, es gibt AsyncTasks für, aber gibt es eine andere Möglichkeit?

Und was ist der Unterschied zwischen

new Handler().post 

und

View.post

?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage