码迷,mamicode.com
首页 > 移动开发 > 详细

Android自助餐之AsyncTask

时间:2016-05-27 13:08:08      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

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

标签:

原文地址:http://blog.csdn.net/xmh19936688/article/details/51481539

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!