Führen Sie die asynchrone Task in der seriellen Reihenfolge in Android 4.0 aus

Ich habe die 2 Asyn-Tasks implementiert, ich verwende Android 4.0. Wenn eine Asyntask kontinuierlich ausgeführt wird, wird die zweite je nach Anforderung ausgeführt (kann mehrere Male sein). Zum Beispiel.

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])
    }
}

In der Aktivitätsklasse

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++
        }
    }
}     

In dem obigen Fall wird die AsynTask2 nicht ausgeführt.

Wenn mit executeOnExecutor (AsyncTask.THREAD_POOL_Executor, params) versucht wird, werden beide asyntask ausgeführt und ich erhalte die Drucknachrichten von AsynTask2, aber diese sind nicht in Ordnung (wie 0 2 6 4 10 8 12 14 ....).

Gibt es eine Möglichkeit, AsynTask1 kontinuierlich und AsynTask2 in sequentieller Reihenfolge auszuführen, so dass die Reihenfolge (wie 0 2 4 6 8 10 12 14 ....) verhindert wird?

Danke & Gruß mini.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage