OKHttp总结

一、Ok优点:

1.支持SPDY可以合并多个请求到同一个主机的请求、连接池、GZIP和HTTP缓存

2.支持HTTP/2协议,通过HTTP/2 可以让客户端中到服务器的所有请求共用同一个Socket连接

3.非HTTP/2 请求时,OkHttp内部会维护一个线程池,通过线程池可以对HTTP/1.x的连接进行复用,减少延迟

4.支持post,get请求,基于http的文件上传和下载

5.默认情况下,OkHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题

二、OK使用步骤:

1.创建一个OkHttpClient并实例化,可设置相关参数连接时长connectTimeout等

2.创建一个Request对象并实例化,可设置网络地址url,请求方式get,post,携带参数等;

3.创建一个Call对象,通过okhttpClient的newCall()方法将Request封装成Call对象

4.创建一个Response响应,用于接收服务器返回的相关信息;

三、OK同步 步骤:

1.创建OkHttpClient和Request对象

2.将Request封装成Call对象

3.调用Call的excute()发起同步请求

同步注意事项:当前线程发送同步请求后,就会进入阻塞状态,直到数据有响应才会停止

四、OK异步 步骤:

1.创建OkHttpClient和Request对象

2.将Request封装成Call对象

3.调用Call的enqueue发起异步请求

异步注意事项:onFailure和onResponse都是执行在子线程中

五、Ok请求方式区别:

1、发起请求方法调用2、是否阻塞线程

六、OK方法

Dispatcher:OkHttp请求的调度分发器,由它决定异步请求在线程池中是直接处理还是缓存等待,当然对于同步请求,只是将相应的同步请求放到请求队列当中执行

ConnectionPool: 统一管理客户端和服务器之间连接的每一个Connection,作用在于

1.当你的Connection请求的URL相同时,可以选择是否复用;

2.控制Connection保持打开状态还是复

七、拦截器:

1.RetryAndFollowUpInterceptor(重定向拦截器)

负责处理错误,失败重试,重定向

2.BridgeInterceptor(桥接拦截器)

负责设置编码方式,添加头部,Keep-Alive 连接以及应用层和网络层请求和响应类型之间的相互转换

3.CacheInterceptor(缓存拦截器)

负责进行缓存处理

你可能感兴趣的:(OKHttp总结)