答案 0 :(得分:2)
ACRA的工作原理是在主线程上设置默认的异常处理程序。您可以在源代码here中看到:
mDfltExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(this);
此时它将自身设置为默认的未捕获异常处理程序。如果存在任何从未被任何try/catch
块捕获的异常,Java将调用此处理程序。
由于它不是一个活跃的守护进程或进程,而是代码的一部分(假设您调用ACRA.init()
),它实际上并不会影响性能或电池寿命。