Android学习之AsyncTask

1. 定义

  1. AsyncTask是一个抽象类,查询源码可以得到,其中只有一个抽象方法doInBackground(),所以继承AsyncTask需要实现该方法。
public abstract class AsyncTask<Params, Progress, Result> {
   
	protected abstract Result doInBackground(Params... var1);
}

通过Android Studio查看源码,可以发现其提示非常明显:(此处感慨一下,Android studio确实十分好用)
在这里插入图片描述上面只截图了一部分的源码,从图中可以看出,其中必须实现的抽象方法doInBackground()前面标识着WorkerThread,表示该方法是运行在工作线程中;而其他的一些方法前面标识着MainThread,则表示运行在UI线程中,也就意味着这些方法能够控制UI 敲重点!要考的!

  1. 我们再来看看AsyncTask
public abstract class AsyncTask<Params, Progress, Result> {
   
}

可以看到,AsyncTask有三个参数:

  • Params:表示启动任务时需要的参数类型
  • Progress:表示任务运行过程中返回进度值的类型
  • Result :表示后台执行任务完成后返回结果的类型
    暂时对这三个参数有这么一个了解即可,下面会结合实例代码进行解释。
  1. 优点
    封装,简化异步操作:
    封装了使用Thread + Handler进行ui的更新、数据的传递操作等等。

2.重点方法介绍

先来一张方法调用顺序图:
在这里插入图片描述

  1. execute
    在源码中,可以看到execute的重载方法:
public final AsyncTask<Params, Progress, Result> execute(Params... params) {
   
       throw new RuntimeException("Stub!");
}
public static void execute(Runnable runnable
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值