- 博客(12)
- 资源 (5)
- 收藏
- 关注
原创 (Android) OkHttp3.11 源码学习笔记 9 CallServerInterceptor分析
这个拦截器主要负责向服务器发起真正的网络请求,并接收到response,再返回,下面为主要的intercept方法源码 @Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (RealInterceptorChain) chain; ...
2018-06-28 21:43:47 375
原创 (Android) OkHttp3.10 源码学习笔记 9 ConnectInterceptor分析
首先我们还是去看它的intercept方法@Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (RealInterceptorChain) chain; Request request = realChain.request();...
2018-06-24 21:52:14 297
原创 (Android) OkHttp3.10 源码学习笔记 8 Cahce get put分析&& CacheInterceptor分析
今天我们来分析OkHttp中的cache拦截器。使用cache的方简单如下 OkHttpClient client = new OkHttpClient().newBuilder().cache(new Cache(new File("cache"), 24 * 1024 * 1024)).build();进入cache类看一下,里面有一个InternalCache, 它实现了InternalCa...
2018-06-18 23:36:36 316
原创 (Android) 在Kotlin项目中使用Dagger2
前言:本文不会介绍Dagger2如何使用,假设大家已经能够在java项目中使用dagger2今天在kotlin项目中配置了一下dagger2,发现和java中略有不同,写篇文章记录一下。项目配置首先,我们需要在gradle file里面配置kapt。如果在java中使用过dagger,肯定知道apt,apt是一个gradle插件,协助Android Studio 处理annotation proc...
2018-06-14 18:45:42 897
原创 (Android)Picasso图片处理框架简要分析 2
接上篇(Android)Picasso图片处理框架简要分析 1上篇分析到Picasso的into方法,在创建action后,会调用Action action = new ImageViewAction(picasso, target, request, memoryPolicy, networkPolicy, errorResId, errorDrawabl...
2018-06-10 00:11:32 563
原创 (Android)Picasso图片处理框架简要分析 1
Square公司开源的图片加载库。优点是功能还算完善,能满足基本的图片加载需求,使用简单,体量小。官方链接:http://square.github.io/picasso/Git: https://github.com/square/picasso本篇文章基于Picasso 2.71828,从基本的使用一步步分析Picasso.get().load("http://i.imgur.com/Dvpv...
2018-06-07 23:48:17 579
原创 (Android) OkHttp3.10 源码学习笔记 7 BridgeInterceptor分析
BridgeInterceptor 拦截器的功能主要有以下 3 点:是负责将用户构建的一个 Request 请求转化为能够进行网络访问的请求。(添加头部信息)将这个符合网络请求的 Request 进行网络请求。将网络请求回来的响应 Response 转化为用户可用的 Response。添加请求头后,93行,又看到了我们熟悉的方法Response networkResponse = chain.pr...
2018-06-04 21:55:12 170
原创 (Android) OkHttp3.10 源码学习笔记 6 RetryAndFollowUpInterceptor分析
RetryAndFollowUpInterceptor是重试重定向拦截器。它主要是负责失败重连的。因为在 OKHTTP 中的拦截器的执行过程是一个递归的过程,也就是它内部会通过 RealInterceptorChain 这个类去负责将所有的拦截器进行串起来。只有所有的拦截器执行完毕之后,一个网络请求的响应 Response 才会被返回。但是,在执行这个过程中,难免会出现一些问题,例如连接中断,握手...
2018-06-04 21:38:11 181
原创 (Android) OkHttp3.10 源码学习笔记 5 拦截器链分析
接上面的分析,在获取请求response的时候,都调用了如下代码 Response response = getResponseWithInterceptorChain();我们跟进去看一下 Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of intercep...
2018-06-03 22:09:32 167
原创 (Android) OkHttp3.10 源码学习笔记 4 拦截器
拦截器是OkHttp中提供的一种强大机制,它可以实现网络监听,请求以及响应重写,请求失败重试等功能。拦截器是不区分同步还是异步的,无论同步还是异步请求,都会使用拦截器。我们先看官网的一张图从架构图中看出,他有两种拦截器,Application拦截器,Network拦截器。其中OkHttp Core是OkHttp给我提供的系统内部的拦截器。在后面的学习中,我们会主要分析这个。下图描述了系统内部提供的...
2018-06-03 21:46:56 196
原创 (Android) OkHttp3.10 源码学习笔记 3 Dispatcher分析
本章我们介绍OkHttp的任务调度器Dispatcher,dispatcher的作用为维护请求的状态,并维护一个线程池。Dispatcher包含了三个队列和一个线程池,看注释大家应该能明白他们是做什么的 /** Executes calls. Created lazily. */ private @Nullable ExecutorService executorService; /*...
2018-06-01 18:58:19 242
原创 (Android) OkHttp3.10 源码学习笔记 2 异步请求分析
接上篇同步请求分析,首先我们先看简单的异步请求的使用方法。1. 异步请求使用OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("http://baidu.com") .build(); C...
2018-06-01 15:46:10 667
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人