(一)介绍
1,AsyncTask,是一种轻量级的异步任务类,内部封装了Handler和Thread,可以方便的将子线程的数据传递到UI线程并更新UI.但它不适合进行特别耗时的任务,对于特别耗时的任务,建议使用线程池.
(一)关键api
1,三个参数:Params,Progress,Result,如果AsyncTask确定不需要传递具体参数,那么这三个泛型参数可以用Void来代替。
A,Params,表示参数的类型
B,Progress,表示后台任务执行的进度的类型
C,Result,后台任务返回结果的类型
2,四个参数:
onPreExcute(),DoInBackGround(),onProgressUpdate(),onPostExcute();
A,onPreExcute(),在主线程中执行,在异步任务之前调用,一般可以用于做任务前的准备,比如进度圈的显示.
B,DoInBackGround(),在线程池中执行,用于处理一些耗时任务.通过publishProgress()将进度发布出去.然后通过return将结果返回出去.
C,onProgressUpdate(),在主线程中执行,获取任务的最新进度.
D,onPostExcute(),