Closed yuchangliang closed 1 year ago
> /**
* 子线程抛出异常时始终调用该方法。主线程只有第一次抛出异常时才会调用该方法,该方法中到的throwable都会上报到bugly。以后主线程的异常只调用 {@link #onBandageExceptionHappened(Throwable)} * * @param thread * @param throwable */ protected abstract void onUncaughtExceptionHappened(Thread thread, Throwable throwable); /** * 当原本导致app崩溃的主线程异常发生后,主线程再次抛出导致app崩溃异常时会调用该方法。(自己try catch住的异常不会导致app崩溃) * (该方法中到的throwable不会上报到bugly,也无需上报到bugly,因为本次异常可能是由于第一次主线程异常时app没有崩溃掉才发生的,只要修复了bug就不会发生该异常了) * * @param throwable 主线程的异常 */ protected abstract void onBandageExceptionHappened(Throwable throwable);
方法注释写的太绕了,至今不明白这两个方法什么意思。作者在试图把简单的方法进行复杂的描述? 自带混淆属性? 有道翻译 uncaught-->未捕获 bandage-->绷带
有什么不同,应用场景是什么?为什么不是主线程对应一个方法,子线程对应一个方法。为什么两个要混用啊? UncaughtExceptionHandler 如果是捕获子线程异常的,为什么主线程第一次抛出异常时会调用该方法? UncaughtExceptionHandler 如果是捕获所有异常的,那就不需要 if (t == Looper.getMainLooper().getThread()) 来判断是否主线程了。 这块什么逻辑?
enterSafeMode:安全模式是做什么的,为什么要写这个模式?
我打印了ExceptionHandler接口的四个方法,同一个crash 为什么会回调多个的方法?例如,有一次同时回调了uncaughtExceptionHappened和bandageExceptionHappened?
别说我不仔细看文档和注释,别说我能力有限小白等等这些话。 我就是看不懂才问的
@android-notes
方法注释写的太绕了,至今不明白这两个方法什么意思。作者在试图把简单的方法进行复杂的描述? 自带混淆属性? 有道翻译 uncaught-->未捕获 bandage-->绷带
有什么不同,应用场景是什么?为什么不是主线程对应一个方法,子线程对应一个方法。为什么两个要混用啊? UncaughtExceptionHandler 如果是捕获子线程异常的,为什么主线程第一次抛出异常时会调用该方法? UncaughtExceptionHandler 如果是捕获所有异常的,那就不需要 if (t == Looper.getMainLooper().getThread()) 来判断是否主线程了。 这块什么逻辑?
enterSafeMode:安全模式是做什么的,为什么要写这个模式?
我打印了ExceptionHandler接口的四个方法,同一个crash 为什么会回调多个的方法?例如,有一次同时回调了uncaughtExceptionHappened和bandageExceptionHappened?
别说我不仔细看文档和注释,别说我能力有限小白等等这些话。 我就是看不懂才问的
@android-notes