在學習Activity啟動流程的時候突然想到,是否可以在子線程中啟動Activity。
btn0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(context, MainActivity1.class);
startActivity(intent);
}
}).start();
}
});
經(jīng)過測試,可以正常的啟動MainActivity1。經(jīng)過查閱源碼后發(fā)現(xiàn),Activity的startActivity方法,經(jīng)過一層一層調(diào)用,并沒有檢測過線程,所以是可以在子線程中啟動Activity的。