我們有類似的問題, 而且只在一個型號的一種設(shè)備上出現(xiàn), 不過我不太喜歡用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 出現(xiàn)情況是被系統(tǒng)殺掉服務(wù)導(dǎo)致出現(xiàn)的原因,一般出現(xiàn)在后臺用戶無感知。 1.出錯堆棧: 2.源碼分析 3.解決思路 是否拋...