簡體   English   中英

如何在Android中的工作線程上排隊任務?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM