android app 默认的crash处理流程 (FATAL EXCEPTION)

来源:互联网 发布:python io模块 编辑:程序博客网 时间:2024/05/21 15:46
private static class UncaughtHandler implements Thread.UncaughtExceptionHandler {    public void uncaughtException(Thread t, Throwable e) {        try {            // Don't re-enter -- avoid infinite loops if crash-reporting crashes.            if (mCrashing) return;            mCrashing = true;            if (mApplicationObject == null) {                Clog_e(TAG, "*** FATAL EXCEPTION IN SYSTEM PROCESS: " + t.getName(), e);            } else {                StringBuilder message = new StringBuilder();                message.append("FATAL EXCEPTION: ").append(t.getName()).append("\n");                final String processName = ActivityThread.currentProcessName();                if (processName != null) {                    message.append("Process: ").append(processName).append(", ");                }                message.append("PID: ").append(Process.myPid());                Clog_e(TAG, message.toString(), e);            }            // Bring up crash dialog, wait for it to be dismissed            ActivityManagerNative.getDefault().handleApplicationCrash(                    mApplicationObject, new ApplicationErrorReport.CrashInfo(e));        } catch (Throwable t2) {            try {                Clog_e(TAG, "Error reporting crash", t2);            } catch (Throwable t3) {                // Even Clog_e() fails!  Oh well.            }        } finally {            // Try everything to make sure this process goes away.            Process.killProcess(Process.myPid());            System.exit(10);        }    }}
AMP.handleApplicationCrash    AMS.handleApplicationCrash        AMS.findAppProcess        AMS.handleApplicationCrashInner            AMS.addErrorToDropBox            AMS.crashApplication                AMS.makeAppCrashingLocked                    AMS.startAppProblemLocked                    ProcessRecord.stopFreezingAllLocked                        ActivityRecord.stopFreezingScreenLocked                            WMS.stopFreezingScreenLocked                                WMS.stopFreezingDisplayLocked                    AMS.handleAppCrashLocked                mUiHandler.sendMessage(SHOW_ERROR_MSG)

*** FATAL EXCEPTION IN SYSTEM PROCESS

FATAL EXCEPTION

0 0