Android自助餐之AsyncTask

Posted -_-void

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android自助餐之AsyncTask相关的知识,希望对你有一定的参考价值。

android自助餐之AsyncTask

[toc]
耗时操作可以使用AsyncTask

创建AsyncTask需要传递三个泛型:ParamsProgressResult

  1. Params启动任务执行的输入参数,比如HTTP请求的URL
  2. Progress后台任务执行的百分比
  3. Result后台执行任务最重返回的结果

使用AsyncTask需要重写的方法

  1. doInBackground()后台执行比较耗时的操作。
    不能直接操作UI;在执行过程中可以调用publishProgress()来更新任务的进度。
  2. doPlstExcute()相当于Handler处理UI的方式,可以再这里使用doInBackground方法的到的结果处理UI。
    在主线程执行。
  3. onProgressUpdate()可以使用进度条。
    在主线程执行。
  4. onPreExcute()在execute被调用后立即执行,一般用来在执行后台任务前对UI做一些标记。

需要注意的

  1. AsyncTask的实例只能在UI线程中创建。
  2. execute()只能在UI线程中调用。
  3. 不要手动调用:onPreExecute()doInBackground()onProgressUpdate()onPostExecute()
  4. 一个AsyncTask实例只能执行一次。

以上是关于Android自助餐之AsyncTask的主要内容,如果未能解决你的问题,请参考以下文章

Android自助餐之解析zip

从片段调用 Android AsyncTask 没有调用其成员 - doInbackground、onpreexecute、onpostexecute

android中AsyncTask中的ProgressDialog

Android源代码解析之-->异步任务AsyncTask

Android自助餐之XML

Android自助餐之控件注解IOC