Запускается ли 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)


Пост-выполнение было вызвано, даже если вы вызвали асинхронную задачу

person Biki    schedule 03.08.2018