初识Android AsyncTask

AsyncTask 是android中的异步任务,其目的是解决线程阻塞的问题。

AsyncTask 定了三种范型。

 AsyncTask<Params, Progerss, Result>

  1. Params, 定义的是doInBackground方法的参数类型。
  2. Progress, 定义的是onProgressUpdate方法的参数类型。
  3. Result, 定义的是onPostExcute方法的参数,以及doInBackground方法的返回值类型。

在一个异步任务里,不是所有的类型总被用。假如一个类型不被使用,可以简单地使用 Void类型:

 private class MyTask extends AsyncTask<Void, Void, Void> { ... }

 

AsyncTask 执行的四个步骤:

1.首先执行的是onPrevExcute()方法,该方法运行在ui 线程中。

2.然后执行的是doInBackground()方法 ,该方法运用在后台的线程中,在该方法中可以通过调用publishProgress()方法 来运行 onUpdateProgress()方法。

3. onUpdateProgress方法,运行在ui线程中,可以动态更新ui元素的状态。 

4. onPostExcute方法,当doInbackground方法运行结束后会立即运行该方法。该方法运行在ui线程中。 doInbackground方法的返回值将做为这个方法的参数。

 

posted on 2013-07-30 15:49  西红柿  阅读(221)  评论(0编辑  收藏  举报

导航