我已经实现了两个异步任务,我正在使用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中获得print消息,但这些消息不是按顺序排列的(像0 2 6 4 10 8 12 14 ...)。
有没有办法连续执行AsynTask1并按顺序执行AsynTask2,以防止出现类似0 2 4 6 8 10 12 14等顺序。
谢谢 &问候 mini.