Android自助餐之AsyncTask

Android自助餐之AsyncTask

查看全套目录

耗时操作可以使用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实例只能执行一次。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值