當前位置:編程學習大全網 - 網站源碼 - Android中什麽是ANR 如何避免ANR?

Android中什麽是ANR 如何避免ANR?

答案:ANR:Application Not Responding(應用程序無響應).當出現下列情況時,Android就會顯示ANR對話框了: 對輸入事件(如按鍵、觸摸屏事件)的響應超過5秒 意向接受器(intentReceiver)超過10秒鐘仍未執行完畢Android應用程序完全運行在壹個獨立的線程中(例如main)。這就意味著,任何在主線程中運行的,需要消耗大量時間的操作都會引發ANR。

解決方案有兩種:

1. AsyncTask異步任務中,doInBackground()和onPostExecute(Result)兩個方法非常重要

doInBackground() 這個方法運行在後臺線程中,主要負責執行那些很耗時的操作,如移動護理系統中的網絡連接、解析XML等操作。該方法必須重載。

onPostExecute(Result) 這個方法也運行於UI線程,在doInBackground(Params…)方法執行後調用,該方法用於處理後臺任務執行後返回的結果。

2. 子thread + handler

  • 上一篇:Python找到最大值和最小值。
  • 下一篇:文案短句高質量
  • copyright 2024編程學習大全網