okHttp

okHttp重点内容:

okHttpClien

RealCall

request

dispatcher线程池分发执行线程,任务池

connectionPool池连接池,socket连接池

streamAllocation

Interceptor

Interceptor Chain

RealIntercepter Chain中Interceptor List顺序:

oKHttpClient 的Interceptor:联网前的中断器

retryAndFollowupInterceptor:重试机制 ;创建StreamAllocation对象,为后面流程的执行准备条件;处理重定向的HTTP响应;错误恢复。

bridgeInterceptor:加入一些头信息

cacheInterceptor:缓存策略

connectInterceptor:执行连接

OKHttpClient 的 networkInterceptors:联网后用户可自定义的中断器

callServerInterceptor:向服务器发送数据,和从服务器读取数据

okHttp中比较精髓的地方:

1、使用装配器即InterceptorChain,在链式反应中加入自己定义的Interceptor使得在request和response阶段做自己的工作

2、platform:代码实现可以与平台无关,platform的实现类来实现与平台相关的一些代码,比如log

为什么使用deque?


基本使用

同步调用

Response response = mOkHttpClient.newCall(request).execute(); 

异步调用

mOkHttpClient.newCall(request).enqueue(responseCallback)

详细参考http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0106/2275.html介绍。

你可能感兴趣的:(okHttp)