Android AsyncTask方法之间的技术差异

时间:2018-08-29 19:36:05

标签: java android android-asynctask

我想知道AsyncTask的所有四种方法之间的技术区别。

  • onPreExecute()
  • doInbackgroud()
  • onPublishProgress()
  • onPostExecute()

我不想询问调用方法的顺序。我想知道这两种方法之间的主要技术差异,这两种方法会彼此区分。

1 个答案:

答案 0 :(得分:3)

Developer Page

  

onPreExecute(),在执行任务之前在UI线程上调用。   此步骤通常用于设置任务,例如通过显示   用户界面中的进度条。

     

doInBackground(Params...),在后台线程上调用   在onPreExecute()完成执行之后立即执行。使用此步骤   执行可能需要很长时间的后台计算。的   异步任务的参数将传递到此步骤。的   计算结果必须通过此步骤返回,并且将是   回到最后一步。此步骤也可以使用   publishProgress(Progress ...)发布一个或多个进度单位。   这些值发布在UI线程的   onProgressUpdate(Progress ...)步骤。

     

onProgressUpdate(Progress...),在调用后在UI线程上调用   到publishProgress(Progress ...)。执行的时间是   未定义。此方法用于显示进度中的任何形式的进度   用户界面,而后台计算仍在执行。   例如,它可以用于为进度栏设置动画或显示日志   一个文本字段。

     

onPostExecute(Result),在后台之后在UI线程上调用   计算完成。后台计算的结果是   传递给此步骤作为参数。