AsyncTask是一个抽象类,这个类是对Thread类的一个封装,该类(asyncTask<Params,Progress,Result>)定义了3种泛型参数。不使用时Void型
Params:启动任务执行的输入参数,例如HTTP的URL,任务执行器需要的数据类型
Progress:后台任务执行的百分比
Result:后台执行任务最终返回的结果,如String,Integer等。
内部回调函数有onPreExecute(),doInBackgroung(),onProgressUpdate(),onPostExecute().
onPreExecute():准备运行,该回调函在任务被执行后立即由UI线程调用,通常是用来在用户UI上显示进度条等相关的操作
doInBackgroung():在后台运行,在这里执行耗时的后台计算,计算的结果必须由该函数返回,并传递到onPostExecute()中处理。在该函数中可以使用publishProgress()发布进度值,这些进度值会在onProgressUpdate()中被接受并发布到UI线程
onProgressUpdate():进度更新,该函数由UI线程在publishProgress()方法调用后被调用,一般用于动态更新一个进度条。
onPostExecute():完成后台任务,后台计算结束后被调用,后台计算的结果作为参数传递给这一方法