从okhttp源码分析其核心架构和设计模式及retrofit是如何对okhttp封装的

okhttp主框架是通过构建者模式实现对请求的封装方便用户对请求参数的封装修改和各种请求结果的回调。
通过责任链模式实现对请求的处理,如添加缓存拦截器、请求头拦截器、重定向拦截器,来方便用户对网络请求实现各种自定义封装处理。

请求线程池缓存使用的是Java缓存线程池+自定义线程工厂(设置线程名称和并设为非守护线程)

 ExecutorService executorService = new ThreadPoolExecutor(0,Integer.MAX_VALUE,60, TimeUnit.SECONDS,
                ,new SynchronousQueue<Runnable>(), Util.threadFactory("okHttpThreadName",false));

即已使用过的线程池闲置60秒以内会被复用,超过60秒被回收。
请求的实现是socket链接。
总体核心精髓就是责任链模式

Retrofit是用注解和代理把okhttp封装了一层,让用户可以使用REST风格的代码来使用okhttp

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容