Android平台程式崩潰的型別及原因

2021-07-01 19:52:13 字數 934 閱讀 8674

android平台程式崩潰大家都應該遇到過,force close和anr應該是大家遇到較多的。

這裡把android平台程式崩潰的各種型別做乙個簡述和原因列舉。

1.anr(可見anr):

發生場景:應用發生anr。

崩潰症狀:系統彈出視窗詢問使用者選擇「force close」或者「wait」。

「force close」將殺掉發生anr的應用程序。「wait」將會等待系統擇機恢復此應用程序。

發生原因:(1)應用主線程卡住,對其他請求響應超時。(2)死鎖。(3)系統反應遲鈍。(4)cpu負載過重。

2.force close:

發生場景:應用程序崩潰。

崩潰症狀:系統彈出視窗提示使用者某程序崩潰。

發生原因:空指向異常或者未捕捉的異常。

3.tombstones:

發生場景:native層崩潰

崩潰症狀:如果發生崩潰的native層和ui有關聯(比如browser),我們可以在ui上發現這個崩潰。

如果發生崩潰的native層是在後台並且和ui沒有直接聯絡,那麼對於使用者來說是不可見的,如果是debug版本可能會有log列印出當時的底層現場。

發生原因:各種各樣,需要具體情況具體分析。

4.系統服務崩潰(system server crash):

發生場景:系統服務是android核心程序,此服務程序發生崩潰。

崩潰症狀:手機重啟到android啟動介面

發生原因:(1)系統服務看門狗發現異常。(2)系統服務發生未捕獲異常。(3)oom。(4)系統服務native發生tombstone。

5.kernel panics:

發生場景:linux核心發生嚴重錯誤

崩潰症狀:手機從bootloader開始完全重啟

發生原因:(1)linux核心記憶體空間發生記憶體崩潰。(2)核心看門狗發現異常。(3)空指標操作核心。

Android平台程式崩潰的型別及原因列舉

android平台程式崩潰大家都應該遇到過,force close和anr應該是大家遇到較多的。這裡把android平台程式崩潰的各種型別做乙個簡述和原因列舉。1.anr 可見anr 發生場景 應用發生anr。崩潰症狀 系統彈出視窗詢問使用者選擇 force close 或者 wait force ...

android平台程式崩潰的型別及原因列舉

android平台程式崩潰大家都應該遇到過,force close和anr應該是大家遇到較多的。這裡把android平台程式崩潰的各種型別做乙個簡述和原因列舉。1.anr 可見anr 發生場景 應用發生anr。崩潰症狀 系統彈出視窗詢問使用者選擇 force close 或者 wait force ...

Android 收集已發布程式的崩潰資訊

我們寫程式的時候都希望能寫出乙個沒有任何bug的程式,期望在任何情況下都不會發生程式崩潰。不過理想是豐滿的,現實是骨感的。沒有乙個程式設計師能保證自己寫的程式絕對不會出現異常崩潰。特別是針對使用者數達到幾十萬幾百萬的程式,當你使用者數達到一定數量級後,就算你的程式出現個別異常崩潰情況也不用驚訝。既然...