---
崩溃优化
---

#### 目录

1. Android 的两种崩溃
2. 如何衡量崩溃

#### Android 的两种崩溃

Android 崩溃分为 Java 崩溃和 Native 崩溃。

简单来说，Java 崩溃就是在 Java 代码中，出现了未捕获异常，导致程序异常退出。那么 Native 崩溃又是怎么产生的呢？一般都是因为在 Native 代码中访问非法地址，也可能是地址对齐出现了问题，或者发生了程序主动 abort，这些都会产生对应的 signal 信号，导致程序异常退出。

##### Java 崩溃

通过实现 UncaughtExceptionHandler 接口，来处理未捕获的异常。

##### Native 崩溃

使用 [Breakpad](https://chromium.googlesource.com/breakpad/breakpad/+/master) 开源项目。

#### 