美文网首页Android开发Android技术知识Android开发
UncaughtExceptionHandler,用户使用App

UncaughtExceptionHandler,用户使用App

作者: 卖臭豆腐的王致和 | 来源:发表于2018-06-20 09:40 被阅读61次
转载请注明原创出处,谢谢!

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

爱内测反馈的结果报告

(请忽略4.2.1.1这几个字)


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

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

这是个什么玩意?

  • 用户神操作,弄了一个开发者没try的异常,会导致应用崩溃
  • 没测试出的Bug
  • ...

为什么要这么干?

你对死亡一无所知.png
  • 让用户怀疑自己
    1.如果我们不这样做,App运行过程中出现异常,导致App弹个黑窗,然后GG。
    用户内心想法:程序员是个呵呵吧!卸载。帅气的我怎么会让你这么欺负?
    2.可如果程序员这样做了,让App在出现Bug,导致App崩溃的时候,不弹小黑窗,直接退掉,用户就会怀疑人生,是不是我不小心按了Home键了?
    3.应用崩溃后,用户点击重启,重启在一般情况下可以解决一半的Bug,这是我开发软件的信仰!
  • 程序员甩锅(不解释)
  • 收集错误日志,下个版本解决问题(重点)

  • 提升App友好度

解决办法

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文件。
这样我就安心了,打死不背锅!

相关文章

  • UncaughtExceptionHandler,用户使用App

    转载请注明原创出处,谢谢! GitHub: @Ricco 辛辛苦苦、日夜兼程写了15天,总算写了一个小项目,如何让...

  • UncaughtExceptionHandler使用

    线程发生了未捕获的异常,可以使用try catch进行捕获,在多线程的环境下就不可以了,会造成直接的崩溃或者错误,...

  • UncaughtExceptionHandler示例使用

    概述 UncaughtExceptionHandler是用来catch线程内的没有被捕获到的exception,可...

  • iOS 收集APP崩溃

    UncaughtExceptionHandler 业务场景描述 收集APP崩溃信息,上传到服务器,用于分析统计. ...

  • Android全局异常捕获

    全局异常捕获 UncaughtExceptionHandler 当app上线后,可能存在某些异常导致程序崩溃,开...

  • 通过UncaughtExceptionHandler收集App的

    崩溃信息的收集   之前有写过Bugly的集成以及一些使用方法 使用Bugly收集并分析App的崩溃信息 ,当然任...

  • 中间透明的UIView实现的几种方法

    前言 当用户第一次使用app的时候, 在app的开始页或者主要的界面,就会显示用户引导,引导用户怎么使用这个app...

  • 统一处理子线程异常

    方法一(不推荐):在子线程中捕捉。 方法二(推荐):使用 UncaughtExceptionHandler Unc...

  • 系统异常捕获存储上传功能实现

    UncaughtExceptionHandler是全局捕获异常的,为app意外中止的提供一些处理的方法。只需要实现...

  • 万事得力

    用户注册及使用APP隐私协议 在此特别提醒您(用户)在使用万事得力提供的APP之前,请认真阅读本《用户协议》(以下...

网友评论

    本文标题:UncaughtExceptionHandler,用户使用App

    本文链接:https://www.haomeiwen.com/subject/gjfmeftx.html