前言
相较于Handler,AsyncTask更简单一点,它是一个抽象类,要实现异步消息,就的自己创建一个类继承AsyncTask,重写要使用的方法,将要在子线程中执行的程序,放在doInBackground方法中,要在更新界面时,子线程中返回的结果在onPostExecute()方法中,怎么显示就任由开发者了,当然还会有其它几个方法,下面会一一解释。
AsyncTask的泛型参数
在新建一个AsyncTask时,需要指定三个泛型参数:Params、Progress、Result。
- Params是指执行任务时所需要的参数;
- Progress是指执行任务时的进度;
- Result是任务执行完毕之后,返回的参数。
AsyncTask的几个方法
要执行任务时,我们只需在合时宜的方法中,执行自己想要执行的程序即可。它们分别是:
- onPreExecute 该方法在任务执行前调用,可以在该方法中做一些UI界面的初始化操作,比如来个弹窗之类的。
- doInBackground 在该方法中就执行自己的耗时任务,它是运行在子线程中,当任务运行完毕之后,即可将结果return,AsyncTask会自己将该结果传递到onPostExecute()中,当然如果想实时显示任务进度,则可以在该方法中调用publishProgress()方法,调用该方法之后,AsyncTask会将它穿的参数传递到onProgressUpdate()中。
- onProgressUpdate方法主要是更新任务进度的&#