Android--AsyncTask、HanderThread、IntentService简介与使用

前言:

  • 由于Android的特性,如果在主线程中执行耗时操作会导致程序无法及时响应,因此耗时的操作必须放在子线程中去执行。(如网络请求、访问大量数据)。

  • 尽管AsyncTask、HanderThread,IntentService的表现形式都有别于传统的线程,但是它们的本质都是传统的线程。

  • AsyncTask封装了线程池和Handler,它主要是为了开发者在子线程中更新UI。

  • HandlerThread是一种具有消息循环的线程,它的内部可以使用Handler。

  • IntentService是一个服务,系统对其进行了封装使其可以更方便地执行后台服务,IntentService内部采用了HandlerTHread来执行任务,当任务执行完了之后会自动退出。

1、 AsyncTask

使用方法:创建类继承自AsyncTask,重写一系列方法
(方法作用看代码注释)

public class MyAsyncTask extends AsyncTask<String ,Long,Long> {
   
    Context context;

    public MyAsyncTask(Context context) {
   
        this.context = context;
    }


    //任务开始前调用
    @Override
    protected void onPreExecute() {
   
        super.onPreExecute();
        Toast.makeText(context,"开始执行AsyncTask,咋哇撸多!",Toast.LENGTH_SHORT).show();
    }


    //后台执行任务时调用
    @Override
    protected Long doInBackground(String... strings) {
   
        for(int i=0;i<3;i++){
   
            Log.d("time",i+"秒过去了")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值