风流不在谈锋胜,袖手无言味最长。这篇文章主要讲述AsyncTask Android方法的技术差异相关的知识,希望能为你提供帮助。
我想知道AsyncTask的所有四种方法之间的技术差异。
- onPreExecute()
- doInbackgroud()
- onPublishProgress()
- onPostExecute()
答案Developer Page
onPreExecute()
,在执行任务之前在UI线程上调用。此步骤通常用于设置任务,例如通过在用户界面中显示进度条。
【AsyncTask Android方法的技术差异】在onPreExecute()完成执行后立即在后台线程上调用doInBackground(Params...)
。此步骤用于执行可能需要很长时间的后台计算。异步任务的参数将传递给此步骤。计算结果必须由此步骤返回,并将传递回最后一步。此步骤还可以使用publishProgress(Progress ...)发布一个或多个进度单元。这些值发布在UI线程的onProgressUpdate(Progress ...)步骤中。
onProgressUpdate(Progress...)
,在调用publishProgress(Progress ...)后在UI线程上调用。执行的时间是不确定的。此方法用于在后台计算仍在执行时显示用户界面中的任何形式的进度。例如,它可用于为进度条设置动画或在文本字段中显示日志。
onPostExecute(Result)
,在后台计算完成后在UI线程上调用。背景计算的结果作为参数传递给该步骤。
推荐阅读
- 无法将值传递给Android中的AsyncTask
- Android AsyncTask问题(连接到Web服务)
- Android(Kotlin) - 如何等待异步任务完成()
- E / AndroidRuntime(致命异常:Android的AsyncTask#1 ERROR)
- Android AsyncTask无法运行
- AsyncTask在android中加载数据的次数非常不同
- Android Socket,AsyncTask,Handler内存泄漏
- 示例(使用AsyncTask的Android双向网络套接字)
- 如何在没有AppEngine for Google云端存储的情况下获取服务网址()