转载请注明原创出处,谢谢!
- GitHub:
爱内测反馈的结果报告
(请忽略4.2.1.1这几个字)
爱内测检测详情报告截图.png
一脸懵逼,没听说过,上学时老师也没讲过,我也没见过啊!有问题,干!
这是个什么玩意?
- 用户神操作,弄了一个开发者没try的异常,会导致应用崩溃
- 没测试出的Bug
- ...
为什么要这么干?
你对死亡一无所知.png- 让用户怀疑自己
1.如果我们不这样做,App运行过程中出现异常,导致App弹个黑窗,然后GG。
用户内心想法:程序员是个呵呵吧!卸载。帅气的我怎么会让你这么欺负?
2.可如果程序员这样做了,让App在出现Bug,导致App崩溃的时候,不弹小黑窗,直接退掉,用户就会怀疑人生,是不是我不小心按了Home键了?
3.应用崩溃后,用户点击重启,重启在一般情况下可以解决一半的Bug,这是我开发软件的信仰! - 程序员甩锅(不解释)
-
收集错误日志,下个版本解决问题(重点)
- 提升App友好度
解决办法
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// 设置未捕获异常的处理器
Thread.setDefaultUncaughtExceptionHandler(new MyHandler());
}
class MyHandler implements UncaughtExceptionHandler {
// 一旦有未捕获的异常,就会回调此方法
public void uncaughtException(Thread thread, Throwable ex) {
ex.printStackTrace();
PrintWriter err;
try {
// 收集错误日志,上传到服务器,下个版本解决问题!
err = new PrintWriter(Environment.getExternalStorageDirectory()
+ "/err.log");
ex.printStackTrace(err);
err.close();
} catch (Exception e) {
e.printStackTrace();
}
// 停止当前进程
android.os.Process.killProcess(android.os.Process.myPid());
}
}
}
别忘了,配置AndroidManifest.xml文件。
这样我就安心了,打死不背锅!