AsyncTask是一个在不需要开发者直接操作多线程和 Handler 的情况下的帮助类,适用于短时间的操作(最多几秒)。 如需长时间的线程操作,建议使用多线程包 java.util.concurrent 中的功能,比如线程池。
3个范型参数:Params(传入参数类型), Progress (进度类型)和 Result(执行结果类型)。
4个步骤方法:
onPreExecute() UI线程执行,可以在这先渲染一个进度条doInBackground(Params... params) 子线程执行耗时的异步任务,中间结果用publishProgress发送到UI线程onProgressUpdate(Progress... values) UI线程执行。负责处理中间进度信息的可视化onPostExecute(Result result) UI线程执行。异步任务结束后调用,接收一个执行结果