AsyncTask是安卓自带的异步操作类,把异步操作简化并封装好,从而可以让开发者在子线程中更方便地更新UI。
AsyncTask为一个抽象类,在继承AsyncTask时需要指定如下三个泛型参数:<Params,Progress,Result>
Params:为启动任务时输入的参数类型
Progress:后台任务执行时返回进度值的类型
Result:任务结束后返回的类型
主要方法
doInBackground(Params… params)方法:
为子线程方法,用以在后台开启线程并执行,其中params为变长数组,其类型为在AsyncTask定义时所定义的类型,对应着execute方法中传入的参数。其返回值为Result所定义的类型。
onPreExecute方法:
为主线程方法,在子线程执行前执行相应配置信息。
onPostExecute方法:
为主线程方法,用于在子线程结束后更新UI
onProgressUpdate方法:
为主线程方法,当在doInBackground方法中调用publishProgress时,会回调此方法,用于在子线程进行的同时更新UI。