我已经实现了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