AsyncTask内的各个方法调用顺序:

|-  AsyncTask内的各个方法调用顺序

   |-  首先,用户调用execute方法,启动AsyncTask 。然后在execute方法中:

      |-  首先调用onPreExecute方法,执行初始化操作

      |-  然后从线程池中取出若干个空闲的线程,并使用该线程调用doInBackground方法,执行耗时的操作,如文件下载等。

|-  提示:调用execute方法时设置的参数会被直接传递给doInBackground方法

   |-  当doInBackground方法执行完毕后,onPostExecute方法将被调用。onPostExecute方法的参数就是doInBackground方法的返回值

|-  若doInBackground方法中途被终止,则同样会调用onPostExecute方法,但是方法的参数却为null

|-  若想更新UI控件,则可以在doInBackground方法中调用publishProgress方法向主线程中的Handler发送消息,Handler接到消息后会转调用onProgressUpdate方法来更新UI。

|-  提示:调用publishProgress方法时设置的参数将被传递给onProgressUpdate方法

 

在上面的范例中,各个方法的参数返回值都是Object类型的,这对于严格控制程序有很大负面的影响。但是事实上,AsyncTask类是有泛型的

(重要:Note)

AsyncTask<Params, Progress, Result> 其中:

|-  Params:用于设置executedoInBackground方法的参数的数据类型

    |-  Progress:用于设置onProgressUpdatepublishProgress方法的参数的数据类型

    |-  Result:用于设置onPostExecute方法的参数的数据类型doInBackground方法返回值类型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值