OkHttp3源码解读一:接口请求层

本文主要介绍了OkHttp3的接口请求层,包括OkHttpClient、Call、RealCall及其内部类AsyncCall,以及Dispatcher任务队列的工作原理。重点阐述了OkHttpClient如何创建请求,RealCall的execute和enqueue方法,以及拦截器链的处理过程。
摘要由CSDN通过智能技术生成

##1、基本介绍:

  • 接口层:接收用户的网络访问请求(同步请求/异步请求),发起实际的网络访问,接受服务器返回的结果。

##2、重要类:
####2.1、OkHttpClient:

  • OkHttp框架的客户端,更确切的说是一个用户面板,用户使用OkHttp进行各种设置,发起各种网络请求都是通过OkHttpClient完成的。
  • 每个OkHttpClient内部都维护了属于自己的任务队列Dispatcher,连接池ConnectionPool,缓存Cache,拦截器Interceptor等。
  • 在使用OkHttp作为网络框架时应该全局共享一个OkHttpClient实例。

####2.2、Call:【每一个请求实例接口】

Call call  = okHttpClient.newCall(request);
  • Call本身只是一个接口,描述一个实际的HTTP访问请求,用户的每一个HTTP请求都是一个Call实例。
  • 每一个Call就是一个线程。
  • Call包含了怎么生成Request对象request()execute()enqueue()方法。

####2.3、RealCall:

  • 具体的Call接口实现类,代表每一个HTTP请求。
  • 每一个RealCall内部有一个AsyncCall final类。

####2.4、AsyncCall :

  • RealCall类的内部final类,实现了NamedRunnable类的execute()。
  • 继承于NamedRunnable类,NamedRunnable类实现了Runnable接口,并且有一个execute()抽象方法,这个抽象方法在Runnable的run()里执行。

####2.5、Dispatcher:【管

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值