[英]Android running on UI thread even when using worker thread
我使用的是工作线程,如此处所述,但代码仍然阻止UI。 如果我在run()方法的开头睡觉,它不会阻塞UI。 事实是,这是一个繁重的代码,它从onCreate方法运行,但是无论我做什么,我都不能使它不阻塞UI。 我究竟做错了什么?
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();
}
使用Handler
或.runOnUiThread(runnable)
来调用您的UI线程。 您也可以在没有Runnable的情况下执行线程,如下所示:
new Thread(){
@Override
public void run() {
for (int i = 0; i < 1000000; i++) {
Log.d("asdf", "asdf");
}
}
}).start();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.