我正在使用工作线程,如here所述,但代码仍在阻止UI。如果我在run()方法的开头睡觉,它不会阻止UI。问题是,它是一个从onCreate方法运行的繁重代码,但无论我做什么,我都无法阻止它。我做错了什么?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 1000000; i++) {
Log.d("asdf", "asdf");
}
}
}).start();
}
答案 0 :(得分:0)
答案 1 :(得分:0)
使用Handler
或.runOnUiThread(runnable)
来调用您的UI线程。
您也可以在没有Runnable的情况下执行您的线程,如下所示:
new Thread(){
@Override
public void run() {
for (int i = 0; i < 1000000; i++) {
Log.d("asdf", "asdf");
}
}
}).start();