Android, Handler działa w głównym wątku lub innym wątku?
Mam następujący kod.
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);
}
}
Mam problem z analizą tego kodu. O ile program obsługi działa w wątku głównym. ale ma wątek, który działa w innym wątku.
MainMenu.class zostanie uruchomiony w głównym wątku lub drugim wątku? jeśli głównywątek zostanie zatrzymany na 5 sekund. ANR zostanie podniesiony. Dlaczego kiedy zatrzymuję to z opóźnieniem(_splashTime)
ANR nie wyświetla się (nawet jeśli zwiększę ją do ponad 5 sekund)