ANR和Force close產生和原因

2021-07-22 12:31:18 字數 735 閱讀 8770

一、概念

anr,程式沒有響應,有可能程式會再次響應

例子:

應用執行時,main執行緒進行了耗時操作
應用執行時,使用者操作過於頻繁

force close:程式丟擲異常,會強制退出

例子:

應用執行時丟擲了outofmemoryerror,應用執行時丟擲了runtimeexception

二、出現場景

anr出現場景:

主線程被io操作(從4.0之後網路io不允許在主線程中)阻塞。

主線程中存在耗時的計算

主線程中錯誤的操作,比如thread.wait或者thread.sleep等

android系統會監控程式的響應狀況,一旦出現下面情況,則彈出anr對話方塊

1:keydispatchtimeout(5 seconds) --

主要型別

按鍵或觸控事件在特定時間內無響應2:

broadcasttimeout(10 seconds)

broadcastreceiver在特定時間內無法處理完成

3:servicetimeout(20 seconds) --

小概率型別

service在特定的時間內無法處理完成

force close出現場景(一般是異常情況):

比如空指標、陣列越界、型別轉換異常等等。

捕獲:可以通過logcat檢視丟擲異常的**出現的位置,然後到程式對應**中進行修改。

Android的ANR詳解(原因和方案)

在android裡,應用程式的響應性是由activity manager和windowmanager系統服務監視的 當它監測到以下情況中的乙個時,android就會針對特定的應用程式顯示anr 1.在5秒內沒有響應輸入的事件 例如,按鍵按下,螢幕觸控 2.broadcastreceiver在10秒內...

Android中ANR的理解和避免措施

1 anr定義 2 如何來避免 考慮上面的anr定義,讓我們來研究一下為什麼它會在android應用程式裡發生和如何最佳構建應用程式來避免anr。android應用程式通常是執行在乙個單獨的執行緒 例如,main 裡。這意味著你的應用程式所做的事情如果在主線程裡占用了太長的時間的話,就會引發anr對...

SAP在產品和產成品分攤

基本生產費用在產成品和在產品之間的分配 工業企業在結轉完製造費用和輔助後,接下來所需要做的是基本生產費用在完工產品與在產品之間進行分配,分配滿足下面基本公式 月初在產品成本 本月生產費用 本月完工產品成本 月末在產品成本 幾個名詞 在產品 又稱在製品,erp中有個洋文叫wip,廣義的在產品包括生產車...