什么是ANR壁涎?
ANR即應用程序未響應(Application Not Responding)
造成ANR的主要原因
應用程序的響應性是由Activity Manager和WindowManager系統(tǒng)服務來監(jiān)視的搬男,當在Activity和Service中超過5秒還未響應用戶,則會彈出ANR對話框,在廣播中則是10秒。
1.主線程被IO操作阻塞
2.主線程中存在耗時的計算
如何解決ANR昙衅?
1. 使用AsyncTask來處理耗時的操作
2. 使用Thread或者HandlerThread并要提高其優(yōu)先級
3. 使用Handler來處理工作線程的耗時任務
4. Activity的onCreate和onResume回調中盡量避免耗時的代碼