ANdroid的崩溃总结

Android 中常见的应用崩溃问题(一)

上一周我和大家 分享了关于我们AndroidApplication层中开发软件时,常用到的一个小技巧,用UnCaughtExceptionHalder去捕获全局的异常.可以提高用户体验.但是无法完全的保证应用的意外发生,经过这一周我们队CAS-A项目的调试,发现Android端三大崩溃都会存在.简单说一说我了解的情况:

一RuntimeException这个是属于Java里面的机制,上一周已经简单聊过了,我们也在应用常会做对应的保护.

二 ANR(ApplicationNot Responsing)通俗的说就是我们在玩手机应用时或在 PC操作一些应用时有时候会出现的程序或应用为响应的状态.这个时候系统会我们弹出对话框,是继续等待还是,结束程序.好吧我承认我是急性子,我一般都是结束应用的.这个在Android这里,出现这种情况,一般是有比较耗时的操作在UI线程进行,系统对每个组件分配的响应时间也是不同的.四大组件中.Activity是5秒,广播是10秒,服务是20秒,也就是说,在这些对应的组件内进行操作的响应时间要是超过了,就会出现ANR.

所以我们一般把,网络访问\数据库的操作\修改位图等高耗时或者潜在耗时的事情放在子线程,而用Hanlder机制进行线程间的通讯.同时在可能出现耗时的地方加入ProgressBar让用户对界面的卡顿有一定程度上的理解 .同时也有 类似于捕获Exception的方法让我们在用户看见对话框前做出一些处理------我们可以注册接收ANR的广播,然后在收到广播后做一些操作(如:不让弹出对话框,重启等).

三 Native信号异常这个是由于SO包的C代码或者C++代码的一些问题,产生Native 信号异常,然后应用直接挂掉.这个也有对应处理的方法,不过由于我现在对C和JNI遗忘的比较多.所以就不在此卖弄.大家感兴趣的可以找找相关的处理方式.等我后面把C捡回来了在和大家聊.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值