Android Crash监控
本文链接:https://blog.csdn.net/feather_wch/article/details/131648515
Java Crash
1、如何捕获Java Crash
- Thread.setDefaultUncaughtExceptionHandler()捕获没有try-catch导致的异常
2、官方使用的默认处理器是KillApplicationHandler
- 弹出对话框:正常手机被厂商干掉了
- AMS.handleApplicationCrash(xxx)处理Crash
- 里面通过Porcess.killProcess(Porcess.myPid())和System.exit(10)杀死app
3、如何持久化Crash 日志(上传/本地)?
- 创建file文件,存储到App私有目录,把发生时间、线程、手机等信息+异常信息,写入文件
- 出现Crash建议下次启动时,上传。本次上传可能会导致无法完成。
- 有网管系统,可以下发指令给设备,去上传日志。
4、为什么系统的Handler会kill app,我们还能做保存文件的工作?
- 系统默认的已经被替换了
Thread.setDefaultUncaughtExceptionHandler(xxx)
- 做完任务后,再按照默认Handler继续处理。不处理会导致App一直卡着。
5、上传的日志信息,要结合混淆的Mapping文件进行分析
- 不然会出现都是a.a.a.a的信息</