looper prepareAndroid 全局异常是什么意思

looper prepare  时间:2022-02-24  阅读:()

Android 全局异常是什么意思

Android系统的“程序异常退出”,给应用的用户体验造成不良影响。为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理。通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可。   1、异常处理类,代码如下:   [java] view plaincopy   public class CrashHandler implements UncaughtExceptionHandler {   public static final String TAG = "CrashHandler";   private static CrashHandler INSTANCE = new CrashHandler();   private Context mContext;   private Thread.UncaughtExceptionHandler mDefaultHandler;   private CrashHandler() {   }   public static CrashHandler getInstance() {   return INSTANCE;   }   public void init(Context ctx) {   mContext = ctx;   mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();   Thread.setDefaultUncaughtExceptionHandler(this);   }   @Override   public void uncaughtException(Thread thread, Throwable ex) {   // if (!handleException(ex) && mDefaultHandler != null) {   // mDefaultHandler.uncaughtException(thread, ex);   // } else {   // android.os.Process.killProcess(android.os.Process.myPid());   // System.exit(10);   // }   System.out.println("uncaughtException");   new Thread() {   @Override   public void run() {   Looper.prepare();   new AlertDialog.Builder(mContext).setTitle("提示").setCancelable(false)   .setMessage("程序崩溃了...").setNeutralButton("我知道了", new OnClickListener() {   @Override   public void onClick(DialogInterface dialog, int which) {   System.exit(0);   }   })   .create().show();   Looper.loop();   }   }.start();   }   /**   * 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成. 开发者可以根据自己的情况来自定义异常处理逻辑   *   * @param ex   * @return true:如果处理了该异常信息;否则返回false   */   private boolean handleException(Throwable ex) {   if (ex == null) {   return true;   }   // new Handler(Looper.getMainLooper()).post(new Runnable() {   // @Override   // public void run() {   // new AlertDialog.Builder(mContext).setTitle("提示")   // .setMessage("程序崩溃了...").setNeutralButton("我知道了", null)   // .create().show();   // }   // });   return true;   }   }   2、线程绑定异常处理类   [java] view plaincopy   public class CrashHandlerActivity extends Activity {   /** Called when the activity is first created. */   @Override   public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.main);   CrashHandler crashHandler = CrashHandler.getInstance();   crashHandler.init(this); //传入参数必须为Activity,否则AlertDialog将不显示。   // 创建错误   throw new NullPointerException();   }   }

2022年腾讯云新春采购季代金券提前领 领取满减优惠券和域名优惠

2022年春节假期陆续结束,根据惯例在春节之后各大云服务商会继续开始一年的促销活动。今年二月中旬会开启新春采购季的活动,我们已经看到腾讯云商家在春节期间已经有预告活动。当时已经看到有抢先优惠促销活动,目前我们企业和个人可以领取腾讯云代金券满减活动,以及企业用户可以领取域名优惠低至.COM域名1元。 直达链接 - 腾讯云新春采购活动抢先看活动时间:2022年1月20日至2022年2月15日我们可以在...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

青云互联:香港安畅CN2弹性云限时首月五折,15元/月起,可选Windows/可自定义配置

青云互联怎么样?青云互联是一家成立于2020年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港安畅cn2弹性云限时首月五折,15元/月起;可选Windows/可自定义配置,让您的网站高速、稳定运行。点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联香港云服务器活动...

looper prepare为你推荐
bloomfilterJAVA怎么弄爬虫qq号查询怎样查找本地qq号码调度系统生产调度系统vipjrvipjr英语怎么样?靠谱吗?spawningVC中Error spawning cl.exe错误的解决方法.清除电脑垃圾怎么清除电脑的垃圾啊?图片存储怎么把存图片存储另一种方式?优众网瑞达恒慧讯网是做什么的?12306注册铁路12306怎么注册用户名pps网络电视pps网络电视在线观看?
分销主机 美元争夺战 国外空间 windows2003iso 商家促销 hostker 美国堪萨斯 免费mysql数据库 raid10 php服务器 实惠 万网主机 新疆服务器 windowsserver2008r2 web服务器有哪些 wannacry勒索病毒 asp简介 paypal登陆 linux命令vi 瓦工招聘 更多