Android之CrashHandler

明媚的天發表於2017-12-10

一、 寫在前面

  • 許久沒有更新 文章了,感覺甚是懈怠,這樣不好,還是養成一個好的習慣比較重要,比如說定期分享。
  • 歷史總是驚人的相似,大佬們走的路,寫下的歷程,感覺自己也在亦步亦趨。渾渾噩噩,不知老之將至。
  • 當然了,如果你一直保持著在讀書的狀態,你一直在成長,不知老之將至的狀態應該是幸福的,可惜的是我做不到。
  • 昨晚凌晨,忍不住又擼了一遍 縫紉機,還是覺得感動。
  • 還有三國、三體、金瓶梅、魯迅等等,世界依然很大,等待你我去發現它的美好。
  • 好了,不扯淡了,開始今天的CrashHandler。

二、進入正題

大家都知道,不管怎樣,APP難免會crash,俗稱崩潰。所以,今天就探討一下關於CrashHandler的技術,當然了使用起來非常簡單。

2.1 背景

  • 在實際開發中,可能是由於系統級的bug或者不充分的機型適配或者糟糕的網路狀況等各種原因,APP會發生crash。
  • crash發生時,系統會殺死應用,現象是閃退或者提示使用者程式已停止執行,這對使用者來說是極其不友好的。
  • 而且,如果開發者不做處理,其實對開發者來說也是不友好的,因為你根本不知道發生了什麼。
  • 不出意外,Android提供了方法,即Thread類中的setDefaultUncaughtExceptionHandler方法。

2.2 接入步驟

  • new Crash類:
    Android之CrashHandler
  • 重寫 uncaughtException(),實現自己的邏輯,一般不外乎收集崩潰日誌、上傳日誌等:
    Android之CrashHandler
  • 提供外部初始化的方法:
    Android之CrashHandler
  • 一般在Application中初始化即可:
CrashHandlerDemo.getInstance().init(getApplicationContext());
複製程式碼
  • 完結。

是不是很簡單,但是其實就是這樣,CrashHandler的Android之使用,就是這麼簡單幾步。當然了,像是如何收集日誌這樣的程式碼,網上一搜一大片。


三、最後

  • 個人覺得介紹簡單技術的文章,一定要短小精悍,告訴初學者怎麼用即可,想看原始碼的自然會去看的。
  • 當然了,任何事情都不能是三分鐘熱度,希望自己能繼續堅持。
  • 我想起那天夕陽下的奔跑,那是我逝去的青春。
  • 人類習慣於凡事分出黑與白,但很遺憾,現實都是灰的。
  • 最後分享一首小詩:
    Android之CrashHandler

相關文章