在Application中设置了自定义的UncaghtExceptionHandler。
并且在uncaughtException()中只打印了一句Log。
代码如下:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
Log.e("TXT", "uncaughtException: happen!", throwable);
}
});
}
}
在函数执行完后UI线程就阻塞了。
这是为什么呢?看了网上很多资料,大家都是在这里直接杀死当前进程重启,难道一定得要这样做吗?
一般都是这么做的吧
捕获到异常,然后ui阻塞了,需要杀死当前进程,自己闪退对用户体验好点.不然一直给用户看黑屏?
android.os.Process.killProcess(android.os.Process.myPid());//myPid() : 获取当前进程的pid