Crash(应用崩溃):是由于代码异常而导致 App 非正常退出,导致应用程序无法继续使用,所有工作都停止的现象。
在 Android 应用中发生的 Crash 有两种类型,Java 层的 Crash 和 Native 层 Crash。这两种Crash 的监控和获取堆栈信息有所不同。
我们这里只说java层的Crash监控
java层的Crash监控非常简单,因为java本身为我们提供了一个接口,这个接口在Thread 包下 UncaughtExceptionHandler这个接口用于处理未捕获异常导致线程终止(ps:catch了的是捕获不到的),当我们应用crash的时候就会走UncaughtExceptionHandler.uncaughtException,在该方法中我们可以获取到异常信息,然后通过Thread.setDefaultUncaughtExceptionHandler甚至默认的异常处理器,我们可以讲异常信息保存本地或者上传到服务器,方便我们定位问题。
没有多少东西,直接上码
public class CrashHandler implements Thread.UncaughtExceptionHandler {
private static Context mContent;
private static Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler;
private CrashHandler() {
}
public static void init(Context applicationContext) {
mContent = applicationContext;
//获取默认的异常处理器
defaultUncaughtExceptionHandler = Thread.