В соответствии с Android API Reference AsyncTask,
Когда асинхронная задача выполняется, задача проходит через 4 этапа:
- onPreExecute(), вызываемых в потоке пользовательского интерфейса перед задача выполнена. Этот шаг обычно используется для настройки задачи, например, , показывая индикатор выполнения в пользовательском интерфейсе.
- doInBackground (Params ...), вызывается в фоновом потоке сразу после того, как onPreExecute() завершает выполнение. Этот шаг используется для выполнения фоновых вычислений, которые могут занять много времени. На этот шаг передаются параметры асинхронной задачи . Результат вычисления должен быть возвращен этим шагом и будет , возвращенном на последний шаг. Этот шаг также может использовать publishProgress (Progress ...), чтобы опубликовать одну или несколько единиц прогресса. Эти значения публикуются в потоке пользовательского интерфейса, на этапе onProgressUpdate (Прогресс ...).
- onProgressUpdate (Progress ...), вызывается в потоке пользовательского интерфейса после вызова publishProgress (Progress ...). Время выполнения: не определено. Этот метод используется для отображения любой формы прогресса в пользовательском интерфейсе , пока фоновое вычисление все еще выполняется. Например, он может использоваться для анимации индикатора выполнения или отображения журналов в текстовом поле .
- onPostExecute (Result), вызывается в потоке пользовательского интерфейса после завершения вычисления фона. Результат вычисления фона передается на этот шаг в качестве параметра.
Как это объясняет onPreExecute()
на Ui резьбы выполняется в самом начале.
Этот Guide поможет вам в этом.
Параметры есть, потому что кто-то решил использовать _inheritance_ _extending_ класса _AsyncTask_. Когда вы расширяете класс, вы можете добавить свои собственные переменные-члены для достижения новых функциональных возможностей. – jahroy