捕获未捕获异常的多个进程?

时间:2017-10-27 08:38:27

标签: android multithreading process exception-handling

我正在开发一个将安装在多个应用上的模块。对我们的客户表示担心我们的模块崩溃导致他的应用程序崩溃的可能性。我想找到一种方法来捕获我的模块可以抛出的所有未捕获的异常。该模块由service和2-3 activities组成,与主应用程序的沟通非常少。

为了捕获少数类抛出的异常,只有那些类,最好的选择是什么?我已经考虑使用Thread.UncaughtExceptionHandler来捕获线程抛出的所有异常并将所有thoses类放在一个单独的进程中(使用android:process属性),但我被告知使用多个进程会影响性能和电池用法。是否可以在单独的线程中启动服务和多个活动而无需全部重写它们?

1 个答案:

答案 0 :(得分:0)

您可以从您的库中实现未捕获的异常处理程序。它将处理从库启动的线程触发的未捕获异常。 不要忘记将其传递给DefaultUncaughtExceptionHandler。 如果该应用实现了自己的UncaughtExceptionHandler,它也将对其进行处理。