OkHttp源码分析
文章平均质量分 89
从不同的角度分析OkHttp,提高源码分析能力,不仅学会用,还知道他怎么做的
Mirs_sir
这个作者很懒,什么都没留下…
展开
-
0.(番外)Http请求原理
0.(番外)Http请求原理为了照顾到很多对Http比较陌生的同学,这里专门说明一下Http的请求原理,对看OkHttp源码,理解OkHttp网络请求会有很大的帮助,我们也会通过一个小例子,自己来实现一个Http请求HTTP 简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本原创 2017-06-29 12:17:53 · 875 阅读 · 2 评论 -
1.OkHttp的简单使用
1.OkHttp的简单使用官网: http://square.github.io/okhttp/github地址:https://github.com/square/okhttp简介HTTP是现代应用网络的方式。这是我们如何交换数据和媒体。有效地进行HTTP使您的东西加载更快,并节省带宽。OkHttp是默认情况下高效的HTTP客户端:HTTP / 2支持允许对同一主机的所有请求共享套接字。连接池减原创 2017-06-29 12:19:06 · 750 阅读 · 0 评论 -
2.OkHttp的初始化
2.OkHttp的初始化OkHttp的整个的初始化采用了一个Builder的形式来建造,对设计模式不太了解的同学可以去看https://github.com/mirsfang/ExamplesOfDesignPatterns接下来进入正题OkHttpClient的初始化OkHttpClient在代码中是这样的 OkHttpClient okHttpClient=new OkHttpClient.Bu原创 2017-06-29 12:20:50 · 2136 阅读 · 1 评论 -
3.OkHttp请求流程分析
3.OkHttp请求流程分析Call和RealCall经过上面的初始化之后 okhttpClient 调用public Call newCall(Request request) 方法去构建一个Call,“““java @Override public Call newCall(Request request) { return new RealCall(this, request,原创 2017-06-29 12:21:21 · 1183 阅读 · 0 评论 -
4.OkHttp的请求拦截链
4.OkHttp的请求拦截链OkHttp请求的核心处理就是这一系列的拦截链“““java Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of interceptors. //建立一个完整的拦截器堆栈。 List interceptors = n原创 2017-06-29 12:21:50 · 1250 阅读 · 1 评论 -
5.OkHttp请求调度的分析
5.OkHttp请求调度的分析大工程搞完了,,咱们接着来抠细节,聊一聊OkHttp的连接池管理和任务队列管理连接池OkHttp的链接迟相关的类是ConnectionPoolStreamAllocation如果这边眼生的朋友请看之前的文章; StreamAllocation里面有个ConnectionPool的引用,SteamAllocation是协调connection,strams,cal原创 2017-06-29 12:22:17 · 985 阅读 · 0 评论 -
6.OkHttp的缓存管理
6.OkHttp的缓存管理番外篇有讲到, Http头里面有个Cache-Control 的字段,这个字段就是来处理缓存的,我们先来了解一下Cache-ControlCache-Control的运用 Cache-Control : cache-directive Cache-directive 说明 public 所有内容都将被缓存(客户端和代理服务器都可缓存) private原创 2017-07-03 13:05:02 · 477 阅读 · 0 评论 -
6.1 (番外)深入源码理解HashMap、LinkedHashMap,DiskLruCache
6.1 (番外)深入源码理解HashMap、LinkedHashMap,DiskLruCache我们看OkHttp的源码可以知道,他的缓存算法主要是用LruCache算法实现的,Lru的一个典型的实现就是LinedkHashMap,LinkedHashMap又是基于HashMap实现的,所以要探究他的原理,我们要从HashMap开始说起了(有什么问题的话可以进群交流 群号 579508560,会有视原创 2017-07-04 21:40:20 · 722 阅读 · 0 评论