Android全局拦截异常-防崩溃

Posted 吹着空调哼着歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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());
            }
        });
    }

以上是关于Android全局拦截异常-防崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Android全局拦截异常-防崩溃

android 全局异常捕获,防止崩溃发生

Kotlin 协程协程异常处理 ④ ( Android 协程中出现异常导致应用崩溃 | Android 协程中使用协程异常处理器捕获异常 | Android 全局异常处理器 )

Kotlin 协程协程异常处理 ④ ( Android 协程中出现异常导致应用崩溃 | Android 协程中使用协程异常处理器捕获异常 | Android 全局异常处理器 )

Android 应用程序不断因空指针异常而崩溃

Android 捕获主线程异常崩溃