AsyncTask<>
目前我用到的场景是需要异步执行的操作
例如,任务开始前,弹出dialog,并且显示进度条
任务中,更新进度条
任务结束时,关闭进度条。
但是这个类已经被弃用了,但是很好用 哈哈哈哈
模板参数
AsyncTask<Params, Progress, Result>**是一个抽象类,通常用于被继承. 继承AsyncTask需要指定如下三个泛型参数
Params:启动任务时输入的参数类型(如String).
Progress:后台任务执行中返回进度值的类型(如Integer).
Result:后台任务执行完成后返回结果的类型(如Bitmap).
方法
doInBackground():必须重写,异步执行后台线程要完成的任务,耗时操作将在此方法中完成.
onPreExecute():执行后台耗时操作前被调用,通常用于进行初始化操作.
onPostExecute():当doInBackground方法完成后,系统将自动调用此方法,并将doInBackground方法返回的值传入此方法. 通过此方法进行UI的更新.
onProgressUpdate():当在doInBackground方法中调用publishProgress方法更新任务执行进度后,将调用此方法. 通过此方法我们可以知晓任务的完成进度.