首页 > 解决方案 > android程序中的线程崩溃

问题描述

为什么这段代码会使应用程序崩溃并强制我关闭它?由于某种原因它不断崩溃我不明白为什么但是这段代码应该用于理解线程

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();
    }
}

} 

标签: javaandroidmultithreading

解决方案


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


推荐阅读