Android源码
文章平均质量分 94
cp_Mark
这个作者很懒,什么都没留下…
展开
-
Volley解析(一)-- 源码
涉及到的知识点:Volley网络请求的流程网络分发器逻辑缓存分发器逻辑线程Lock逻辑准备在正式开始分析Volley源码逻辑之前,有两件事需要搞明白:Volley是怎么使用的?请求的流程是怎样的?我们先从基本的使用开始吧。Volley的使用方式我们以通过点击Button加载图片为例,来说明一下Volley的使用。其实很简单,就是在Activity...原创 2018-05-19 10:26:56 · 492 阅读 · 0 评论 -
Volley解析(二)-- 架构分析
Volley是Google2013年I/O大会发布的一个轻量级的网络请求封装库,适用于多而小的网络请求,原因是它的缓存机制使用的是大小仅为5M的DiskBasedCache缓存。它的整个请求的分发流程,是通过RequestQueue来下发给CacheDispatcher和NetworkDispatcher,具体的流程,如有不懂可参考Volley解析(一)– 源码进行了解。本篇文章的主题是分析Vol...原创 2018-05-21 21:13:01 · 219 阅读 · 0 评论 -
Okhttp解析(一)-- 主体流程
Okhttp是当前最火的网络请求框架,即便是Retrofit也是在Okhttp的基础上做的进一步的封装,便于开发者的使用,本篇我们就从源码的角度出发,分析一下Okhttp网络框架的请求流程,以3.10.0为例。我们就以okhttp在github上给出的get请求的示例代码为例来分析:OkHttpClient client = new OkHttpClient();String run(...原创 2018-05-23 16:55:11 · 465 阅读 · 0 评论 -
Okhttp解析(二)-- 缓存
在上一篇Okhttp解析(一)– 源码中,我们从源码角度分析了同步请求和异步请求的流程,这一篇我们主要是分析Okhttp的缓存实现以及真正发送请求的HttpCodec实现。CacheStrategy在上一篇中,我们简单描述了一下它的作用:给定一个请求和缓存的响应结果,它将决定是否使用网络、缓存或者是两者都使用。其实就是说我们传入原始请求,然后它会返回一个后续请求和缓存结果,在缓存拦截器...原创 2018-05-24 18:00:39 · 447 阅读 · 0 评论 -
RxJava2.1.14源码学习(一)基本流程(附带装饰者模式、观察者模式说明)
RxJava已经是日常开发必备的技能,连带面试也是常问的知识点原创 2018-06-14 15:58:41 · 871 阅读 · 0 评论 -
RxJava2.1.14源码学习(二)线程切换subscribeOn
在上一篇我们只是简单的介绍RxJava的订阅和事件流,这一篇我们要分析的是RxJava最流弊的地方:线程切换。相信使用过RxJava的人都会被它优雅的线程操作所折服,好了不废话了,我们先说一下本文的重点: (1)subscribeOn是如何实现的,它是如何影响事件流的,如果我们使用多次会是什么结果,为什么? (2)observeOn是如何实现的,它是如何影响事件流的,如果我们使用多次会是什么结...原创 2018-06-15 16:17:49 · 705 阅读 · 0 评论 -
RxJava2.1.14源码学习(三)线程切换observerOn
在上一篇我们已经介绍了线程切换两大操作符中的subscribeOn了,这一片我们来分析一下observerOn。本文重点是: (1)observeOn是如何实现的,它是如何影响事件流的, (2)如果我们使用多次会是什么结果,为什么? (3)subscribeOn和observeOn的混合使用效果如果对整体流程还不清晰的最好先去看看前面两篇: RxJava2.1.14源码学习(一)...原创 2018-06-19 10:49:13 · 1159 阅读 · 1 评论