.AsyncTask:子线程不能更新UI:因此在一些下载任务需要进度更新,文件读取等耗时操作,如果全部放到主线程去执行,就可能会造成后面任务的阻塞,所以使用AsyncTask进行异步操作
AsyncTask<Params,Progress,Result>是一个抽象类,通常用于被继承.继承AsyncTask需要指定如下三个泛型参数:
Params:启动任务时输入的参数类型.Progress:后台任务执行中返回进度值的类型.Result:后台任务执行完成后返回结果的类型.(可为Boolean判断成功失败)
.构建AsyncTask子类的回调方法
AsyncTask有以下可重写方法(doInBackground必须重写,其余可写可不写):
doInBackground(Params):异步执行后台线程任务,耗时操作将在此方法中完成.onPreExecute():执行后台任务前被调用,通常用于进行初始化操作.onProgressUpdate(Progress)::当doInBackground()方法中调用publishProgress(Progress)方法后,将自动调用此方法.通过此方法我们可以更新任务的进度,可通过此方法进行UI的更新.onPostExecute(Result)::当doInBackground()方法完成后,系统将自动调用此方法,并将doInBackground方法返回的值(即Result),此方法可以进行UI更新,如任务完成关闭进度条等
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦