我想請有人解釋一下,HandlerThread和IntentService之間的主要區別是什麼,以及主要的用例場景是什麼?HandlerThread vs IntentService
據我所知,HandlerThread包含一個Looper,管理由Handler提供的messageQueue。據我所知,你可以將任務推給HandlerThread並執行。使用nonUI相關的長時間運行操作非常棒,您可以通過runOnUiThread()將結果推送回UI。
相比之下,IntentService適用於長時間運行,與非UI相關的操作,可以在它調用selfStop()關閉自己完成的作業完成時按順序執行任務。如果一個IntentService正在處理一個任務,當一個新的請求到達時,它將添加到隊列中並處理第二個,當它完成第一個。
從我的角度來看,他們以同樣的方式完成同樣的工作。假設我有一個應用程序,其中用戶按一個按鈕,我開始下載一個文件。如果用戶多次點擊,則新任務正在排隊,僅當第一個完成時啓動第二個任務。 我應該使用什麼? IntentService或HandlerThread?