搜尋此網誌

2014年10月21日 星期二

【Android】 背景作業處理


Android的背景作業主要有三種
  1. Thread
    • HandlerThread
  2. AsyncTask
  3. Handler
後兩者可以做的事情差不多,Handler使用上比較簡單,但code的可讀性比較差,AsyncTask需另外subclass一個新的類別,但可讀性比較好。
Android的操作,只要超過5秒沒回應(或OnCreate()超過10秒),程式就會被當作無回應,而系統會丟出ANR(Application No Response Exception)。所以,比較耗時費工的動作,都應該考慮用背景作業的方式來完成。常見耗時的工作有。
  1. 網路相關的動作
  2. 資料庫的動作
  3. 檔案操作
  4. 複雜的計算
在設計時,應該考慮較糟的情況,而不是開發者當時的環境




ref:
http://blog.kent-chiu.com/blog/2012/03/19/background_processing/

沒有留言: