Android之CrashHandler

2,444 阅读2分钟

一、 写在前面

  • 许久没有更新 文章了,感觉甚是懈怠,这样不好,还是养成一个好的习惯比较重要,比如说定期分享。
  • 历史总是惊人的相似,大佬们走的路,写下的历程,感觉自己也在亦步亦趋。浑浑噩噩,不知老之将至。
  • 当然了,如果你一直保持着在读书的状态,你一直在成长,不知老之将至的状态应该是幸福的,可惜的是我做不到。
  • 昨晚凌晨,忍不住又撸了一遍 缝纫机,还是觉得感动。
  • 还有三国、三体、金瓶梅、鲁迅等等,世界依然很大,等待你我去发现它的美好。
  • 好了,不扯淡了,开始今天的CrashHandler。

二、进入正题

大家都知道,不管怎样,APP难免会crash,俗称崩溃。所以,今天就探讨一下关于CrashHandler的技术,当然了使用起来非常简单。

2.1 背景

  • 在实际开发中,可能是由于系统级的bug或者不充分的机型适配或者糟糕的网络状况等各种原因,APP会发生crash。
  • crash发生时,系统会杀死应用,现象是闪退或者提示用户程序已停止运行,这对用户来说是极其不友好的。
  • 而且,如果开发者不做处理,其实对开发者来说也是不友好的,因为你根本不知道发生了什么。
  • 不出意外,Android提供了方法,即Thread类中的setDefaultUncaughtExceptionHandler方法。

2.2 接入步骤

  • new Crash类:
  • 重写 uncaughtException(),实现自己的逻辑,一般不外乎收集崩溃日志、上传日志等:
  • 提供外部初始化的方法:
  • 一般在Application中初始化即可:
CrashHandlerDemo.getInstance().init(getApplicationContext());
  • 完结。

是不是很简单,但是其实就是这样,CrashHandler的Android之使用,就是这么简单几步。当然了,像是如何收集日志这样的代码,网上一搜一大片。


三、最后

  • 个人觉得介绍简单技术的文章,一定要短小精悍,告诉初学者怎么用即可,想看源码的自然会去看的。
  • 当然了,任何事情都不能是三分钟热度,希望自己能继续坚持。
  • 我想起那天夕阳下的奔跑,那是我逝去的青春。
  • 人类习惯于凡事分出黑与白,但很遗憾,现实都是灰的。
  • 最后分享一首小诗: