[英]How to queue tasks on a worker thread in Android?
我試圖找到一種在不是UI線程的線程上排隊任務的簡單方法。
我有一個BroadcastReceiver,它每次拍攝圖像時都會響應Intent,並在每次發生時通知我的服務。 服務將必須進行一些處理(縮放和旋轉圖像),我想在新線程上執行此操作(該服務與我的主Activity在同一線程上運行)。 所以我一直在尋找AsyncTask。
我的問題是,如果下一張圖像是在上一張圖像被完全處理之前拍攝的,則我將同時運行兩個AsyncTask,而我不希望這樣。 我想將下一個的處理排隊,直到第一個完成。
所以基本上我想要兩個線程。 一個是標准的UI線程,另一個是我的工作線程,我可以在其中執行一系列任務。
最好的方法是什么?
我有一個BroadcastReceiver,它每次拍攝圖像時都會響應Intent,並在每次發生時通知我的服務。 服務將必須進行一些處理(縮放和旋轉圖像),我想在新線程上執行此操作(該服務與我的主Activity在同一線程上運行)。 所以我一直在尋找AsyncTask。
IntentService
是針對此類問題的一種很好的解決方案,因為它在Service
中將工作隊列與后台線程結合在一起。 您只需重寫onHandleIntent()
即可完成實際工作。
我的問題是,如果下一張圖像是在上一張圖像被完全處理之前拍攝的,則我將同時運行兩個AsyncTask,而我不希望這樣。 我想將下一個的處理排隊,直到第一個完成。
IntentService
只能處理一個Intent
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.