当软件在运行中崩溃且不可try catch的时候,通常要在主线程中添加Thread.setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler eh)方法来捕获崩溃以完成崩溃后的资源回收和一系列动作。
示例代码:
Thread.UncaughtExceptionHandler handler = Thread.getDefaultUncaughtExceptionHandler();
ExceptionCaughtAdapter exceptionCaughtAdapter = new ExceptionCaughtAdapter(handler);
Thread.setDefaultUncaughtExceptionHandler(exceptionCaughtAdapter);
获取到Throwable后得到具体的奔溃信息:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
throwable.printStackTrace(new PrintStream(byteArrayOutputStream));
String msg = new String(byteArrayOutputStream.toByteArray());
本文介绍了一种在软件运行过程中处理主线程崩溃的方法。通过设置默认的未捕获异常处理器(Thread.setDefaultUncaughtExceptionHandler),可以在程序崩溃时捕获异常并进行资源回收等操作。文章提供了具体的示例代码,并展示了如何获取崩溃的具体信息。
1038

被折叠的 条评论
为什么被折叠?



