Android ANR產生的原因及定位分析

2021-08-09 17:26:10 字數 351 閱讀 7410

典型的anr問題場景:

1、ui執行緒存在耗時操作,例如ui執行緒中存在網路請求、資料庫操作或者檔案操作等。android 4.0以後,如果在ui執行緒進行網路操作會直接報異常

2、ui執行緒等待子執行緒釋放某個鎖,從而無法處理使用者輸入

3、耗時的動畫需要大量的計算工作,導致cpu負載過重

anr的避免和檢測:

1、利用strictmode,是android sdk提供的乙個用來檢測**中是否存在違規操作的工具類,主要用來檢測兩大類問題:threadpolicy執行緒策略和vmpolicy虛擬機器策略,threadpolicy主要用來檢測可能存在的耗時操作,vmpolicy用來檢測是否存在洩漏。只能在debug版本中使用它。

android ANR產生原因和解決的方法

所以乙個流暢的合理的應用程式中不能出現anr,而讓使用者每次都要處理這個對話方塊。因此,在程式裡對響應效能的設計非常重要,這樣系統不會顯示anr給使用者。預設情況下。在android中activity的最長執行時間是5秒,broadcastreceiver的最長執行時間則是10秒。第一 什麼會引發a...

android ANR產生原因和解決辦法

預設情況下,在android中activity的最長執行時間是5秒,broadcastreceiver的最長執行時間則是10秒。第一 什麼會引發anr?在android裡,應用程式的響應性是由activity manager和windowmanager系統服務監視的 當它監測到以下情況中的乙個時,a...

android ANR產生原因和解決辦法

預設情況下,在android中activity的最長執行時間是5秒,broadcastreceiver的最長執行時間則是10秒。第一 什麼會引發anr?在android裡,應用程式的響應性是由activity manager和windowmanager系統服務監視的 當它監測到以下情況中的乙個時,a...