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());
            }
        });
    }
    原文作者:吹着空调哼着歌
    原文地址: https://blog.csdn.net/weixin_45680654/article/details/121226051
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞