UncaughtExceptionHandler app的病例

本文介绍了如何在Android应用中自定义UncaughtExceptionHandler,以捕获并记录程序崩溃时的错误信息,提高用户体验。通过创建一个实现Thread.UncaughtExceptionHandler接口的类,收集设备信息、异常堆栈,并保存到本地文件,确保即使应用崩溃也能获取到关键错误数据。在应用启动时初始化该处理器,以便在发生异常时能够及时保存并上传错误日志。
摘要由CSDN通过智能技术生成

在 android项目中,经常遇到程序出错导致闪退,在开发阶段还好,但是app上线了,如果程序发生错误,导致闪退,这样对用户体验非常不好,对于开发人员来说,只能预测那里出了问题,但不能准确定位。当然,可以集成第三方的SDK,比说腾讯的bulgy,但是对于一些特殊的行业,不能集成第三方的东西,那么就要自己写一个了。那就咬用到我们题目说的 UncaughtExceptionHandler了。

 

使用这个类 我们要自己写一个类来继承他,UncaughtExceptionHandler是一个接口,位于Thread类中。

 

public class CrashHandler implements Thread.UncaughtExceptionHandler {

 

private static CrashHandler sInstance = null;

private Thread.UncaughtExceptionHandler mDefaultHandler;

private Context mContext;

// 保存手机信息和异常信息

private Map<String, String> mMessage = new HashMap<>();

    

 

    @Override

    public void uncaughtException(Thread thread, Throwable throwable) {

 

    }

 

 

 

}

我们要重写 他的 uncaughtException 方法,里面就是当app发生crash时的错误信息,我们可以将错误信息保存起来。

使用时,将其初始化

/**

 * 初始化默认异常捕获

 *

 * @param context context

 */

public void init(Context context) {

    mContext = context;

    // 获取默认异常处理器

    mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();

    // 将此类设为默认异常处理器

    Thread.setDefaultUncaughtExceptionHandler(this);

}

保存其信息

@Ov

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值