AsyncTask异步任务的“白话”介绍

与Handler相比,AsyncTask显得更简单粗暴一些。看到大神们对异步任务的说明都很详细,但是对于小白来说就有点难把握了。所以作为小白的代表,就来用“白话”简单说明一下AsyncTask的使用。
1.创建AsyncTask的子类,并指定参数(Params,Progress,Result)分别是:启动时的**输入参数类型**、后台**进度值的类型**、完成任务后**返回结果的类型**。

2.根据需要实现下面的方法:
    A.  doInBackground(params) 这个方法中要做的就是后台要执行的任务。可以调用publishProgress(params)来“通知”更新任务执行进度。
    B.  onProgressUpdate(params) 在执行 publishProgress函数后,实际进行更新任务进度。
    C.  onPreExecute() 在后台耗时操作执行前进行一些准备工作,比如在界面显示进度条.
    D.  onPostExecute(Result result) 在doInBackground完成后(也就是后台任务完成后),修改UI线程(主线程),比如修改控件等操作。
    以上方法大致的顺序就是:(AB)->D (C作为准备工作暂不考虑)   
3.调用execute开始执行异步任务。

注意:
必须在UI线程中创建AsyncTask实例
必须在UI线程中调用AsyncTask的execute()方法
每个AsyncTask只能被调用一次,多次调用会引发异常。

以上是我自己的见解,只是简单的说明,想详细了解的还需要去看 大神们的博客,如果有不对的地方,欢迎指正。

posted @ 2015-09-19 11:36  Z漫步  阅读(87)  评论(0编辑  收藏  举报