##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:【管