AsyncTask异步任务
为了实现安卓的单线程模型,将耗时的操作放在非主线程中执行,AsyncTask应运而生,从而实现 在子线程中更新UI,封装简化异步操作。
抽象类AsyncTask<Params,Progress,Result> 通常被继承,从而指定三个泛型参数:
Params 启动任务时输入参数的类型
Progress 后台任务执行中返回进度值的类型
Result 后台执行任务完成后返回结果的类型
子类AsyncTask的回调方法
doInBackground
必须重写,异步任务后台线程将要完成的任务
onPreExecute
执行后台耗时操作前被调用,通常用户完成初始化操作
onPostExecute
当doInBackground()后 系统自动调用,并且将doInBackground方法返回的值传给该方法
onProgressUpdate
在doInBackground()方法中调用publicProgress()方法,更新任务的执行进度后,就会触发该方法
实践
实现异步加载一张图片