我有一个显示启动画面的应用。启动画面活动会创建一个新的Runnable,只需休眠1秒钟,然后启动主要活动:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
UKMPGDataProvider.init(this.getApplicationContext(), Constants.DATABASE_NAME);
Thread splashThread = new Thread() {
@Override
public void run() {
try {
sleep(ONE_SECOND_IN_MILLIS);
} catch (InterruptedException e) {
} finally {
Intent intent = new Intent(SplashScreen.this, MainScreen.class);
finish();
startActivity(intent);
}
}
};
splashThread.start();
}
在这个新线程上启动主要活动(以及整个应用程序除了启动画面)是否可以?
我们在Android中听到很多关于“UI线程”的消息。这个新线程现在是以某种方式成为UI线程,还是UI线程特殊?
答案 0 :(得分:1)
是的,没关系。 startActivity(intent)
要求系统启动您的主Activity
。你实际上并没有自己在你调用的线程中加载它。
答案 1 :(得分:0)
基本上它是single-thread model
,其中只有一个线程可以修改UI,因为Android UI工具包不是线程安全的。