参考网址:
https://blog.csdn.net/singwhatiwanna/article/details/17596225
AsyncTask 是Android1.5以后引入的一个抽象类AsyncTask类,AsyncTask内部封装了Thread和Handler,让我们不用来回 切换线程,因为AsyncTask内部已经为我们封装好了。
AsyncTask是带有泛型的抽象类,它有三个泛型参数,第一个是要传入的参数的类型Params(一般传入URL地址),第二个是进 度的参数类型Progress(一般传入Int类型),第三个是返回值类型额参数Result(根据你返回的结果类型来定)。
他有四个核心方法:
onPreExecute() : 再任务启动前调用,最先调用。
doInbackground(Parsms..) : 在线程池中执行。再onPreExecute执行后执行,该方法运行再子线程中。再该方法中去处理耗时 的操作。
onProgressUpdate(Progress…) : 再主线程中执行。当调用publishProgress(Progress…)的时候,此方法会将进度更新 到UI上。
onPostExecute(Result result): 再主线程中。接受doInbackground方法返回的值。