我正在开发一个将安装在多个应用上的模块。对我们的客户表示担心我们的模块崩溃导致他的应用程序崩溃的可能性。我想找到一种方法来捕获我的模块可以抛出的所有未捕获的异常。该模块由service
和2-3 activities
组成,与主应用程序的沟通非常少。
为了捕获少数类抛出的异常,只有那些类,最好的选择是什么?我已经考虑使用Thread.UncaughtExceptionHandler
来捕获线程抛出的所有异常并将所有thoses类放在一个单独的进程中(使用android:process
属性),但我被告知使用多个进程会影响性能和电池用法。是否可以在单独的线程中启动服务和多个活动而无需全部重写它们?
答案 0 :(得分:0)
您可以从您的库中实现未捕获的异常处理程序。它将处理从库启动的线程触发的未捕获异常。
不要忘记将其传递给DefaultUncaughtExceptionHandler
。
如果该应用实现了自己的UncaughtExceptionHandler
,它也将对其进行处理。