2つのasynタスクを実装しました。android4.0を使用しています。1つのasyntaskが継続的に実行される場合、2番目のasyntaskは要件に基づいて実行されます(複数回の場合もあります)。例えば。
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 ....など)。
AsynTask1とAsynTask2を順番に実行して、順序(0 2 4 6 8 10 12 14 ....など)が防止されるようにする方法はありますか。
ありがとう&よろしくミニ。