Android开发Android技术知识Android开发

UncaughtExceptionHandler,用户使用App

2018-06-20  本文已影响61人  卖臭豆腐的王致和
转载请注明原创出处,谢谢!

辛辛苦苦、日夜兼程写了15天,总算写了一个小项目,如何让项目变得更优秀呐?测试
测试后才知道,原来应用的缺陷那么多!测试平台为爱内测!用了人家的服务,就要给人家打广告!感谢!
其中有一项结果,把我惊到了,根本没听说过。遇到困难,找人是不可能的,太丢人了(万一是个小问题,会被别人嘲笑的!),找百度,才是王道!

爱内测反馈的结果报告

(请忽略4.2.1.1这几个字)


爱内测检测详情报告截图.png

一脸懵逼,没听说过,上学时老师也没讲过,我也没见过啊!有问题,干!

这是个什么玩意?

为什么要这么干?

你对死亡一无所知.png

解决办法

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // 设置未捕获异常的处理器
        Thread.setDefaultUncaughtExceptionHandler(new MyHandler());
    }

    class MyHandler implements UncaughtExceptionHandler {
        // 一旦有未捕获的异常,就会回调此方法
        public void uncaughtException(Thread thread, Throwable ex) {
            ex.printStackTrace();
            PrintWriter err;
            try {
                // 收集错误日志,上传到服务器,下个版本解决问题!
                err = new PrintWriter(Environment.getExternalStorageDirectory()
                        + "/err.log");
                ex.printStackTrace(err);
                err.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            // 停止当前进程
            android.os.Process.killProcess(android.os.Process.myPid());
        }
    }
}

别忘了,配置AndroidManifest.xml文件。
这样我就安心了,打死不背锅!

上一篇 下一篇

猜你喜欢

热点阅读