Android, Handler läuft im Haupt-Thread oder einem anderen Thread?

Ich habe folgenden Code.

public class SplashScreen extends Activity {
    private int _splashTime = 5000;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                 WindowManager.LayoutParams.FLAG_FULLSCREEN);

        new Handler().postDelayed(new Thread(){
           @Override
           public void run(){
             Intent mainMenu = new Intent(SplashScreen.this, MainMenu.class);
             SplashScreen.this.startActivity(mainMenu);
             SplashScreen.this.finish();
             overridePendingTransition(R.drawable.fadein, R.drawable.fadeout);
           }
        }, _splashTime);
    }
}

Ich habe ein Problem bei der Analyse dieses Codes. Soweit bekannt läuft der Handler im Hauptthread. aber es hat thread der in einem anderen thread läuft.

MainMenu.class wird im main thread oder second thread ausgeführt? wenn mainFaden wird für 5 Sekunden gestoppt. ANR wird angehoben. Warum, wenn ich es mit Verzögerung stoppe(_splashTime) ANR wird nicht angezeigt (auch wenn ich es auf mehr als 5 Sekunden erhöhe)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage