我设置了一个UncaughtExceptionHandler
, 以便在我的应用程序崩溃时将堆栈跟踪写入磁盘。我这样设置这个处理程序:
if (!(Thread.getDefaultUncaughtExceptionHandler() instanceof CustomExceptionHandler)) {
exceptionHandler = new CustomExceptionHandler(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString(),
null, this);
Thread.setDefaultUncaughtExceptionHandler(exceptionHandler);
}
在哪里CustomExceptionHandler
实现UncaughtExceptionHandler
。我将实例保存在 my 中Activity
,因此我可以将其用于其他一些功能(删除堆栈跟踪、检索它们等)。
onCreate
我在my中调用了上面的代码Activity
,但它似乎只在第一次Activity
运行 any 时触发。
我看到Thread.setDefaultUncaughtExceptionHandler
调用是静态的,这是否意味着我只能在我的应用程序中设置该处理程序一次?或者我可以为每个线程设置它吗?