Задейства ли се onPostExecute() дори при извикване на asyncTask().execute().get()?

Да предположим, че имам AsyncTask като тази:

public class MyAsyncTask extends AsyncTask<Void,Void,Boolean>{
    @Override
    protected Boolean doInBackground(Void... voids){
        // Do some stuff
        return true;
    }
    @Override
    protected Void onPostExecute(Boolean b){
    // Do Some UI Changes
    }
}

Но вместо да извикам myAsyncTask().execute(), ако извикам myAsyncTask().execute().get(), Например:-

boolean b = new MyAsyncTask().execute.get();

Промените в потребителския интерфейс, дефинирани в метода onPostExecute(), ще бъдат ли все още приложени? С други думи методът onPostExecute() все още ли ще бъде извикан?


person Shahnawaz Ansari    schedule 03.08.2018    source източник
comment
Противовъпрос, защо дори да си правите труда да използвате асинхронна задача в този момент?   -  person tyczj    schedule 03.08.2018
comment
@tyczj не е практически проблем, просто мисля какво ще се случи теоретично.   -  person Shahnawaz Ansari    schedule 03.08.2018


Отговори (1)


Post execute беше извикан дори вие сте извикали get on async task

person Biki    schedule 03.08.2018