Android ACRA如何捕获所有应用程序';什么是例外?

Android ACRA如何捕获所有应用程序';什么是例外?,android,acra,Android,Acra,你知道Android崩溃报告框架是如何运作的吗 它如何钩住以捕获异常和错误?是否使用一些全局try/catch块来检测错误 这样做是否会影响性能和电池寿命?ACRA通过在主线程上设置默认异常处理程序来工作。您可以在源代码中看到: 此时,它将自己设置为默认的未捕获异常处理程序。如果抛出的异常从未被任何try/catch块捕获,Java将调用此处理程序 因为它实际上不是一个活动的守护进程或进程,而是您代码的一部分(假设您调用ACRA.init()),它实际上根本不会影响性能或电池寿命。人们对您的问题

你知道Android崩溃报告框架是如何运作的吗

它如何钩住以捕获异常和错误?是否使用一些全局try/catch块来检测错误


这样做是否会影响性能和电池寿命?

ACRA通过在主线程上设置默认异常处理程序来工作。您可以在源代码中看到:

此时,它将自己设置为默认的未捕获异常处理程序。如果抛出的异常从未被任何
try/catch
块捕获,Java将调用此处理程序


因为它实际上不是一个活动的守护进程或进程,而是您代码的一部分(假设您调用
ACRA.init()
),它实际上根本不会影响性能或电池寿命。

人们对您的问题投了否决票,因为您直接链接到了您可以自己研究问题的源代码,但我认为在堆栈溢出问题上有这样一个问题仍然很有价值。谢谢你的回答!我对Java不够精通,无法快速理解它,可能有人已经做了这项研究,并将做出更好的解释。我想这就是论坛的意义所在。最后,每个人都可以自己想办法解决问题,但这需要更多的时间和精力。并不是说这是更好的方式,但有时我没有足够的能力和时间去深入挖掘每件事。。。
   mDfltExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
   Thread.setDefaultUncaughtExceptionHandler(this);