我已經實現了2個ASYN任務,我使用的Android4.0。其中一個asyntask連續執行,第二個則根據需要執行(可能是多次)。例如, 。執行串行順序異步任務的Android4.0
class AsynTask1 exetends AsyncTask<Void, Bitmap, Void>{
protected Void doInBackground(Void... params) {
while(true){
publishProgress(bmp);
}
}
}
class AsynTask2 extends AsyncTask<String, Void,Void>{
protected Void doInBackground(String... params){
System.out.println(params[0])
}
}
在活動類
class MainActivity extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new AsynTask1().execute();
int i=0;
while(i<100)
{
if(i%2==0)
new AsynTask2().execute("no is even"+i);
i++
}
}
}
在不執行AsynTask2上述情況。
如果具有executeOnExecutor(AsyncTask.THREAD_POOL_Executor,則params)嘗試過,則兩個asyntask被執行,我從AsynTask2得到打印的消息,但這些都不是爲了(例如0 2 6 4 10 8 12 14 .. ..)。
是否有任何方式,使得順序(如0 2 4 6 8 10 12 14 ...。)防止了在順序連續且AsynTask2執行AsynTask1。
感謝&問候 小。使用回調
我試過這個,但是AsyncTask2沒有執行,所以我沒有從AsynTask2獲取消息。 ThreadPool對於所有的asyntasks都是一樣的嗎? – mini
你是否僅對Asynctask2或Asynctask1執行此操作? – nandeesh
我試過這兩個AsynTasks,後來我只嘗試了AsynTask2。 – mini