使用CrashHandler的目的
测试人员过来告诉你,“你写的代码崩溃了!”
“what ? ! 我写的代码怎么可能会崩溃?!你复现一下,污蔑我的话信不信自残给你看”
“哎,这次怎么好了,什么情况?”
虽然说这种几率性bug可以晚点解决,但是终归是要解决的,但是复现又有点困难,那怎么办?那就只能使用CrashHandler了
先看如何实现CrashHandler
public class CrashHandler implements Thread.UncaughtExceptionHandler {
private static volatile CrashHandler crashHandler;
private Context context;
private CrashHandler(){
}
public void init(Context context){
this.context = context;
Thread.setDefaultUncaughtExceptionHandler(this);
}
public static CrashHandler getCrashHander(){
if (crashHandler == null){
synchronized (CrashHandler.class){
if (crashHandler == null){
crashHandler = new CrashHandler();
}
}
}
return crashHandler;
}
@Override
public void uncaughtException(Thread t, final Throwable e) {
// 提示信息
new Thread() {
@Override<

本文介绍了如何使用CrashHandler来捕获和处理Android应用中的未捕获异常,以解决测试中难以复现的崩溃问题。CrashHandler实现了UncaughtExceptionHandler接口,并在uncaughtException方法中定制崩溃日志的上传和用户友好的错误提示,以提高用户体验。同时,文章还提到了CrashActivity和在Application中注册CrashHandler的重要性。
最低0.47元/天 解锁文章
1368

被折叠的 条评论
为什么被折叠?



