Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android ANR介紹與避免

Android ANR介紹與避免

編輯:初級開發

很多初入Android開發的網友可能發現ANR的字樣,到底Android ANR是什麼呢? 其實ANR就是Application Not Responding的全稱,當某個應用處於長期假死狀態時android系統會彈出一個窗口上面寫道,XXX is not responding給出兩個按鈕一個為force close一個為wait。

   可能觸發ANR的情況

  1. 長時間的I/O處理,比如讀寫大文件,網絡訪問時造成的阻塞。

  2. 執行耗時的運算,android默認為超過5000ms即5秒開始彈出ANR窗口,某些應用可能首次執行時沒有緩存十分耗時,可以通過Splash播放閃屏Logo等方式來延緩加載

  3. Service和appWidget中也要注意多線程的使用,除非它和Activity工作在不同的進程。

  避免ANR的方法

 1. 單獨開工作者線程,通過獨立的Thread或使用類似AsyncTask的方式來處理耗時的內容。

 2. 耗時的操作盡量分段處理,使用類似狀態機的方法,類似SymBian的活動對象將一個復雜的事情,分段執行。

 3. UI線程中不要處理過多的內容,比如將一個5MB的文本,讓TextVIEw去setText,要知道這種UI操作,沒有什麼好方法去解決的,所以android123提示,遇到UI中需要執行復雜的操作,可以參考上面2提到的分段處理方式。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved