[英]How to handle queue of background tasks in Android?
我是Android編程的新手,我的情況是這樣的。
我有幾個這樣的任務正在排隊:
Name. Time.(sec) and some other attributes
Task 1 0
Task 2 1.5
Task 3 3.5
Task 4 6.5
Task 5 9.5
Task 6 10.5
Task 7 11.5
Task 8 12
...
該表基本上說在第0秒執行任務1,在1.5秒執行任務2,在3.5秒執行任務3,依此類推。 我使用任務1作為開始時間,即0秒。 可能有多個任務並行運行,即,當需要安排任務j時,任務i可能仍在運行。 所有這些任務都是網絡密集型的。
正如我所說的那樣,我對Android不熟悉,因此我試圖找出在Android中解決此問題的最佳方法。
我正在考慮使用一個遍歷所有任務的AsyncTask (比如Queue ),看看是否該安排任何任務了。 如果不是安排任何任務的時間,請睡到下一個安排時間,即nextTaskTime-currentTime。 如果需要安排時間,則為Task創建Runnable實例(或者可以是另一個AsyncTask)並開始執行。 因此,基本上Main線程會創建一個名為Queue的 AsyncTask,而AsyncTask可能又會為Tasks創建其他線程。
這是解決此問題的正確方法嗎? 如果還有其他方法,請告訴我。
謝謝。
您將使用串行執行器,它將依次依次執行后台任務...
DownloadImageTask o1 = new DownloadImageTask();
o1.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.