继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android里的AsyncTask异步机制

德玛西亚99
关注TA
已关注
手记 270
粉丝 92
获赞 557

.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更新,如任务完成关闭进度条等

 原文出处


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP