yangchong211 / YCAndroidTool

用于项目测试,崩溃重启操作,崩溃记录日志【可以查看,分享】和重启【多种重启app方式】;网路拦截查看的工具小助手,拦截请求和响应数据,统计接口请求次数,流量消耗,以及统计网络链接/dns解析/request请求/respond响应等时间。提高开发效率……

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

保存错误日志到文件时为什么没开线程去写呢?

songshuilin opened this issue · comments

commented
/**
 * 当UncaughtException发生时会转入该函数来处理
 * 该方法来实现对运行时线程进行异常处理
 */
@Override
public void uncaughtException(Thread thread, Throwable ex) {
    Log.e("TAG", "uncaughtException: 。。。。。。。。。" );
    boolean isHandle = handleException(ex);
    initCustomBug(ex);
    if (mDefaultHandler != null && !isHandle) {
        //收集完信息后,交给系统自己处理崩溃
        //uncaughtException (Thread t, Throwable e) 是一个抽象方法
        //当给定的线程因为发生了未捕获的异常而导致终止时将通过该方法将线程对象和异常对象传递进来。
        mDefaultHandler.uncaughtException(thread, ex);
    } else {
        //否则自己处理
        if (mContext instanceof Application){
            ToolLogUtils.w(TAG, "handleException--- ex----重启activity-");
            if (listener!=null){
                listener.againStartApp();
            }
        }
    }
    CrashHelper.getInstance().setSafe(thread,ex);
}

=============================================================
我在这个uncaughtException获取当前线程。得到的当前线程是main线程。 为什么写文件时没有去开线程呢?
我试了去开启线程去写。 偶尔文件会写不成功。程序就直接挂了。 有时又是成功的。
请问作者是否可以解答下我这个疑问呢。 非常非常感谢。