今天学习AsyncTask的使用方法,自己写了一个异步更新对话框的小例子。
学习贴:http://lichen.blog.51cto.com/697816/486868
重点:AsyncTask的执行过程:
1:onPreExecute();在主线程中调用myTask.execute()后在AsyncTask中第一个执行的方法,由此开始异步线程;
2:doInBackground(Params...);第二步执行的方法,此方法为线程主体,线程参数也由此方法接收。在执行过程中可以用publishProgress(Progress
...)间接调用3号方法(调用是异步的)
更新任务的进度。本方法返回值为4号方法的入参。
3:onProgressUpdate(Progress...);在此方法中可以调用UI线程更新任务进度,例如进度条更新。
4:onPostExecute(Result);当2号方法返回时,将计算结果递给UI线程。
代码: