xCrash
xCrash copied to clipboard
关于异常处理机制
这个有个小小的建议,希望SDK只能加个参数,自己处理异常,比如结束当前进程并重启,而不是直接结束程序。 现在要满足重启的需要,只能修改源码
rethrow
这个设置为true
,然后你可以自己再次拿到这个异常去处理。
这个有个小小的建议,希望SDK只能加个参数,自己处理异常,比如结束当前进程并重启,而不是直接结束程序。 现在要满足重启的需要,只能修改源码
直接结束,是因为你把rethrow
设置为false
导致的。
这个有个小小的建议,希望SDK只能加个参数,自己处理异常,比如结束当前进程并重启,而不是直接结束程序。 现在要满足重启的需要,只能修改源码
直接结束,是因为你把
rethrow
设置为false
导致的。
感觉您的回复,只是如果不修改源码,只是将rethrow
设置true,可以实现重启,但是效果并不好的,我测试设备小米11,这样会白屏一段时间,并且有几率无法重启,原因不明。
修改成如下,就会非常丝滑
if (this.rethrow) {
if (defaultHandler != null) {
defaultHandler.uncaughtException(thread, throwable);
}
} else {
//这里我们自己做重启逻辑
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
ProcessPhoenix.triggerRebirth(getContext());
}