崩溃与Android程序中的线程

时间:2018-07-09 21:01:20

标签: java android multithreading

为什么此代码会使应用程序崩溃并迫使我关闭它? 由于某种原因它不断崩溃 我不明白为什么,但是此代码应用于了解线程

public class ThreadE extends Activity implements OnClickListener {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Button button = new Button(this);
        button.setText("Do Time Consuming task!");
        setContentView(button);
        button.setOnClickListener(this);}
        public void onClick(View v) {
        try {
            for(int i=0; i<10; i++) {
                System.out.println(i);
                Thread.sleep(10000);


     }
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

} 

1 个答案:

答案 0 :(得分:2)

此类正在扩展Activity,这意味着它将位于主(UI)线程上。问题是使用以下代码进行调用:  [[Thread.sleep(10000)]] 它将阻塞主线程10秒钟,我们绝不应该阻塞主线程 尝试从Thread或AsyncTask继承