AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用。
AsyncTask是一个抽象类,使用时需要继承这个类,然后必须在UI线程中使用execute()方法。注意继承时需要设定三个泛型,Params、Progress和Result的类型,如AsyncTask<void,Intger,void>;
Params:指调用excute()方法时传入的参数类型和doInBackGround()的参数类型。
Progress:指更新进度时传递的参数类型,即PublishProgress()和onProgressUpdate()的参数类型。
Result:doInBackGround()的返回值类型。
方法:
doInBackground():继承AsyncTask必须要实现的,运行于后台,耗时操作可以放在这里。
PublishProgress():更新进度,给onProgressUpdate()传递参数。
onProgressUpdate():在PublishProgress()调用完被调用,更新进度。