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();   }   }

Ceraus24元/月,国庆促销 香港云上新首月五折

Ceraus数据成立于2020年底,基于KVM虚拟架构技术;主营提供香港CN2、美国洛杉矶CN2、日本CN2的相关VPS云主机业务。喜迎国庆香港上新首月五折不限新老用户,cera机房,线路好,机器稳,适合做站五折优惠码:gqceraus 续费七五折官方网站:https://www.ceraus.com香港云内存​CPU硬盘流量宽带优惠价格购买地址香港云2G2核40G不限5Mbps24元/月点击购买...

Vultr新用户省钱福利,最新可用优惠码/优惠券更新

如今我们无论线上还是线下选择商品的时候是不是习惯问问是不是有优惠活动,如果有的话会加速购买欲望。同样的,如果我们有准备选择Vultr商家云服务器的时候,也会问问是不是有Vultr优惠码或者优惠券这类。确实,目前Vultr商家有一些时候会有针对新注册用户赠送一定的优惠券活动。那就定期抽点时间在这篇文章中专门整理最新可用Vultr优惠码和商家促销活动。不过需要令我们老用户失望的,至少近五年我们看到Vu...

新版本Apache HTTP Server 2.4.51发布更新(有安全漏洞建议升级)

今天中午的时候看到群里网友在讨论新版本的Apache HTTP Server 2.4.51发布且建议更新升级,如果有服务器在使用较早版本的话可能需要升级安全,这次的版本中涉及到安全漏洞的问题。Apache HTTP 中2.4.50的修复补丁CVE-2021-41773 修复不完整,导致新的漏洞CVE-2021-42013。攻击者可以使用由类似别名的指令配置将URL映射到目录外的文件的遍历攻击。这里...

looper prepare为你推荐
fcloseC语言fclose错误知识库管理系统销售易CRM知识库,这是干什么用的?策略组怎样打开组策略???foxmail邮箱注册Foxmail怎么注册喏?云图片简单易学画的云彩图片oracle索引oracle表加索引有什么用? 请举一个例子说明谢谢inode智能客户端inode智能客户端怎么使用wifi?数秦科技数秦科技旗下有哪些区块链项目?欢迎页面如何设置电脑的欢迎界面?ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?
免费网站域名注册 欧洲免费vps 快速域名备案 私服服务器 香港主机 空间论坛 服务器托管什么意思 空间登陆首页 德隆中文网 国外免费云空间 nic asp.net虚拟主机 卡巴下载 29美元 装修瓦工培训 竞彩论坛空间 8度空间论坛 qq空间登录首页 护卫神主机管理系统 网络存储服务器 更多