java - Android 程序中的线程崩溃

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

} 

最佳答案

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

关于java - Android 程序中的线程崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51253960/

相关文章:

Java用最大值初始化大数组

Android:listView Adapter 应该是您的 ViewModel 类的一部分吗?

android - 您可以在 android 中对照片进行地理标记并上传坐标吗?

c - 为什么我在 Debug模式下得到不同的值?

c++ - OMP部分中的线程数

c# - 仅托盘应用程序中的多线程和更新 UI,

java - 在随机位置绘画

Java 嵌套 ArrayList 返回对象

java - 在 Java 中,如何从 Resteasy 验证返回有意义的 JSON 格式错误?

android - 通过 Intent 传递两个值