我有一个疑问,例如,在Java类的主方法中,我有以下一些代码:
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
throw new IllegalStateException("sss");
}
}).start();
try {
Thread.sleep(2000);
} catch (Exception e) {
}
System.out.println("xxx");
}
这个 IllegalStateException 不会阻止主方法执行,我可以看到 i 的值打印出来了。
然而,在 Android 开发中,如果我在 Activity 的 oncreate() 方法中做同样的事情,它会导致应用程序崩溃。
我想知道 Android 是如何处理这个问题的,以及为什么会导致应用程序崩溃。
谢谢。
logcat 日志:
FATAL EXCEPTION: Thread-248
Process: com.abc.android, PID: 3673
java.lang.IllegalStateException: sss
at com.abc.android.MainActivity$1.run(MainActivity.java:80)
at java.lang.Thread.run(Thread.java:818)