简单介绍: Android开发过程中,因为各种原因导致app崩溃的现象层出不穷,异常奔溃带来的用户体验及其差劲,尤其当一个小小的功能页面的问题导致app整体奔溃带来的操作感受极差,防止app奔溃,虽然不能从根本解决用户体验的基本问题,但可以在此基础上处理,并带来更好地错误交互处理方法。 程序中,可以捕捉到的异常,通常使用try...catch..finally来解决,但还存在一些我们没有捕捉到的异常,例如,使用控件不绑定,变量未初始化等,而捕捉这些由于疏忽而产生的异常则使用 UncaughtExceptionHandler对象来实现。 常见的异常奔溃带来的处理步骤: 1)将错误异常等记录到本地日志中 2)弹出弹窗,提醒用户出现bug,请用户配合上传错误日志 3)提醒用户出现bug的功能暂时不要使用,然后弹到主页面。
UncaughtExceptionHandler的封装(网上已经有人封装好了,直接参考写一下):
/** * Created by Zhu Hao on 2018/2/7. */
/** * 全局捕获异常信息 * 发生Uncaught异常时,由该类来接管程序 */ public class CrashHandler implements UncaughtExceptionHandler {
private static final String TAG = "CrashHandler" ;
@SuppressLint ( "StaticFieldLeak" )<
|