Application

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);

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

    Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
        @Override
        public void uncaughtException(Thread t, Throwable e) {
            //try-catch子线程的所有异常。
            Log.d("TAG", "UncaughtExceptionHandler: " + e.getMessage());
        }
    });
    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("TAG", "Looper.loop(): " + e.getMessage());
                }
            }
        }
    });

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

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容