AsyncTask使用详解

AsyncTask:是一种轻量级的异步任务类,可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。AsyncTask封装了Thread和Handler,通过AsyncTask可以方便地执行后台任务以及在主线上访问UI。(不适合进行特别耗时的后台任务,特别耗时的任务建议使用线程池)。

AsyncTask是一个抽象的泛型类,声明如下

public abstract class AsyncTask<Params, Progress, Result>

四个核心方法:

onPreExecute(),

doInBackground(Params...params), (在线程池中执行,用于执行异步任务)

onProgressUpdate(Progress...values),

onPostExecute(Result result)

注意事项:AsyncTask的类必须在主线程中加载,AsyncTask的对象必须在主线程中调用吗,execute方法必须在UI线程调用。不要在程序中直接调用四个核心方法。一个AsyncTask对象只能执行一次,即只能调用一次execute方法。

posted @ 2018-12-03 15:35  kyun  阅读(442)  评论(0编辑  收藏  举报