AsyncTask Android方法的技术差异

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AsyncTask Android方法的技术差异相关的知识,希望对你有一定的参考价值。

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

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

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

答案

Developer Page

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

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

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

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

以上是关于AsyncTask Android方法的技术差异的主要内容,如果未能解决你的问题,请参考以下文章

Android AsyncTask问题

android AsyncTask的方法在哪几个线程中调用

Android异步载入AsyncTask具体解释

android AsyncTask 怎么返回值给UI线程

android AsyncTask 怎么返回值给UI线程

android AsyncTask 怎么返回值给UI线程