我们有类似的问题, 而且只在一个型号的一种设备上出现, 不过我不太喜欢用hook方式来做, 这里提供另一种方法过滤.
class FirebaseExceptionHandler(
private val exceptionHandler: Thread.UncaughtExceptionHandler?,
private val excludes: List<Class<out Throwable>> = emptyList()
) : Thread.UncaughtExceptionHandler {
companion object {
fun setFirebaseExceptionHandler(vararg excludes: Class<out Throwable>) {
val defaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler()
Thread.setDefaultUncaughtExceptionHandler(
FirebaseExceptionHandler(
exceptionHandler = defaultUncaughtExceptionHandler,
excludes = excludes.toList()
)
)
}
}
override fun uncaughtException(t: Thread, e: Throwable) {
if (excludes.none { e::class.java.isAssignableFrom(it) }) {
exceptionHandler?.uncaughtException(t, e)
}
}
}
Android android.os.DeadSystemException解决方案Android DeadSystemException 出现情况是被系统杀掉服务导致出现的原因,一般出现在后台用户无感知。 1.出错堆栈: 2.源码分析 3.解决思路 是否抛...