Android全局拦截异常-防崩溃

全局设置Application

 @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        new Handler(getMainLooper()).post(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    try {
                        Looper.loop();//try-catch主线程的所有异常;Looper.loop()内部是一个死循环,出现异常时才会退出,所以这里使用while(true)。
                    } catch (Throwable e) {
                        Log.d("zrq", "Looper.loop(): " + e.getMessage());
                    }
                }
            }
        });

        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {//try-catch子线程的所有异常。
                Log.d("zrq", "UncaughtExceptionHandler: " + e.getMessage());
            }
        });
    }

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>