AsyncTask替代方案(p.176)
- 有下述任一情況,請改用 Thread 或 HandlerThread,會較為簡單。
- 不使用參數執行任務(
Async<Void, Void, Void>
)。 - 只實作doInBackground方法時。
- 不使用參數執行任務(
- 需要Looper的背景任務。
- 使用 HandlerThread 。
Local Service
local service 與應用程式裡的其他元件平行地執行,通常是為了處理需長時間操作的動作。service執行在應用程式(hosting application)的UI Thread裡,並且需要執行額外的背景Thread來執行長時間動作。所以可以用已下解法:
- Thread
Executor框架
HandlerThread
- 劇有自訂執行器的Thread
- execute(Runnable)
- 可用Thread或Executor取代。