AsyncTask内的各个方法调用顺序:
2014-02-28 11:43
232 查看
|- AsyncTask内的各个方法调用顺序: |- 首先,用户调用execute方法,启动AsyncTask 。然后在execute方法中: |- 首先调用onPreExecute方法,执行初始化操作。 |- 然后从线程池中取出若干个空闲的线程,并使用该线程调用doInBackground方法,执行耗时的操作,如文件下载等。 |- 提示:调用execute方法时设置的参数会被直接传递给doInBackground方法。 |- 当doInBackground方法执行完毕后,onPostExecute方法将被调用。onPostExecute方法的参数就是doInBackground方法的返回值。 |- 若doInBackground方法中途被终止,则同样会调用onPostExecute方法,但是方法的参数却为null 。 |- 若想更新UI控件,则可以在doInBackground方法中调用publishProgress方法向主线程中的Handler发送消息,Handler接到消息后会转调用onProgressUpdate方法来更新UI。 |- 提示:调用publishProgress方法时设置的参数将被传递给onProgressUpdate方法。 |
(重要:Note)
AsyncTask<Params,
Progress, Result> 其中:
|- Params:用于设置execute和doInBackground方法的参数的数据类型。
|- Progress:用于设置onProgressUpdate和publishProgress方法的参数的数据类型。
|- Result:用于设置onPostExecute方法的参数的数据类型和doInBackground方法的返回值类型。
相关文章推荐
- 共享内存(指针bug)
- 用VIM结合Keil(MDK)写STM32、C51等程序
- ABAP screen
- 冒泡排序法
- 自定义圆形的ProgressBar
- Macos svn命令行工具
- ios 笔记
- C实现的泛型栈
- ecshop 模板标签
- 网络子系统85_inet协议族-l3向上
- solr大量索引信息导致搜索变慢
- display:block、inline和inline-block的区别
- 通过数组指针取数组元素的值
- warden 安装
- smart mobile with vehicle
- hdoj1012--u Calculate e
- JS中的prototype[转载]
- MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(ii)
- SCCM2012R2部署之三:SQL Server 2012数据库准备
- 在CentOS/RHEL 6.5上安装Chromium