AsyncTask Android方法的技术差异

问题描述 投票:0回答:1

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

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

我不想问一下调用方法的顺序。我想知道这些方法之间的主要技术差异,这些方法将它们彼此区分开来。

java android android-asynctask
1个回答
3
投票

Developer Page

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.