Android 崩溃主要分为两大类,触发机制差异显著:
- Java/Kotlin 崩溃:运行在 ART (Android Runtime) 上,未捕获的异常沿调用栈向上传递,到达线程顶部仍未处理时由 ART 终止线程。在终止前会调用
Thread.UncaughtExceptionHandler回调,这是 Java 崩溃捕获的入口。 - Native 崩溃:发生在 C/C++ 层,不受 ART 管理。本质是 CPU 执行非法指令被内核检测到,由内核向进程发送 Linux 信号(如 SIGSEGV、SIGILL、SIGABRT、SIGFPE)。
两者必须分别使用 UncaughtExceptionHandler 与 sigaction 注册处理器才能完整捕获。




