[英]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.