Android, обработчик работает в основном потоке или другом потоке?
У меня есть следующий код.
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);
}
}
У меня есть проблема в анализе этого кода. Насколько известно, обработчик работает в основном потоке. но у него есть поток, который работает в другом потоке.
MainMenu.class будет запущен в основном потоке или втором потоке? если основнойнить останавливается на 5 секунд. ANR будет повышаться. Почему, когда я останавливаю это с задержкой(_splashTime)
ANR не отображается (даже если я увеличу его более чем на 5 секунд)