當應用程式為了執行耗時任務而無法處裡使用者操作時,就會產生ANR,解決方式就是用非同步處理。
在沒有經過特殊的設計下,所有的Task都會在Main Thread上執行,這種單一Thread執行Task的方法稱為「同步」(Synchronouns)
Main Thread主要處理畫面更新的任務,萬一有一個耗時的Task就可能造成ANR。
當Task過於耗時,應該要安排到其他Thread進行,這種非Main Thread的Thread稱為背景執行緒(Background Thread),運用多個Thread執行Task的方式稱為Asynchronous
Thread類別與Coroutines設計模式,目前官方推薦的是用Coroutines