Android开源框架分析
Ihesong
做人如果没有梦想,跟咸鱼有什么区别。
展开
-
Okhttp解析(三)网络连接的管理
上节我们讲解了Okhttp网络请求和响应的处理过程,其中我们知道了请求之前是需要建立网络连接的,也就是http请求是需要建立TCP连接之上的。这也是符合TCP/IP四层模型和OSI七层模型中,传输层的TCP协议,应用层的HTTP协议应用。Okhttp在网络连接的管理方面有哪些特性和优势呢?我们来列举一下。 网络连接池的引入和管理机制。内部维护网络连接池,查找当前请求是否有对应可用的连接,避原创 2017-11-08 18:16:40 · 940 阅读 · 0 评论 -
Okhttp源码解析(一)请求的分发,拦截
转载请标明出处: http://blog.csdn.net/hesong1120/article/details/78427994 本文出自:hesong的专栏Okhttp解析(一)请求的分发,拦截 Okhttp网络框架源码解析系列博客 - Okhttp解析(一)请求的分发,拦截 - Okhttp解析(二)网络请求的执行 - Okhttp解析(三)网络原创 2017-11-02 18:35:45 · 614 阅读 · 0 评论 -
ButterKnife原理分析(二)注解的处理
本文同步发表于我的微信公众号 hesong,扫一扫文章底部的二维码或在微信搜索 hesong 即可关注。上一篇我们讲解了ButterKnife的设计思想,理解了ButterKnife绑定相关源码的实现逻辑。但是它是怎么通过注解的方式生成的那些逻辑代码,这才是最让我们迫切想知道,因此在这篇,我将说说ButterKnife中注解处理的原理。本篇主要有以下内容: 1. 注解Annotation原创 2017-12-31 23:49:25 · 424 阅读 · 0 评论 -
ButterKnife原理分析(一)设计思想
用过ButterKnife的同学都知道,它可以方便我们用注解的方式来省去每次用findViewById去获取View对象等。而其实它的原理也是很简单的,就是在调用ButterKnife.bind(Object obj, View view)方法时,创建一个对象,这个对象构造方法里面会调用参数view的findViewById来赋值给obj中你注解过的字段(通常是各种View),也就是说ButterK原创 2017-12-19 12:46:46 · 410 阅读 · 0 评论 -
Okio精简高效的IO库
本节主要讲讲Okhttp底层使用的IO库–Okio,Okio同样是Square公司推出的增强型IO处理库,旨在增强原生Java IO流的处理,以更加简便,高效的方式处理IO流操作。接下来我会从以下方面来分析它。 Okio的特点和优势 Okio结构分析 Okio的流程分析,读与写的实现 Buffer写数据的精华操作 Buffer缓存的总结 TimeOut超时机制 Gz原创 2017-11-28 10:43:59 · 1233 阅读 · 2 评论 -
网络库Retrofit2原理简析
之前我们分析过了Okhttp这个优秀的网络请求库,但是在实际的使用时,还是会觉得有很多的不方便,你会发现它跟HttpUrlConnection,或者HttpClient一样,是一个比较底层的网络请求库,处理的是底层的网络请求和响应的问题。而我们在业务中要处理上层的逻辑,比如响应内容解析,方便的API实现等,这都需要我们对它进行重新封装,以适合我们特定的业务逻辑。那有没有比较简洁,方便,优雅的封装方式原创 2017-12-11 17:53:55 · 512 阅读 · 0 评论 -
Okhttp解析(五)缓存的处理
大家好,之前我们讲解了Okhttp网络数据请求相关的内容,这一节我们讲讲数据缓存的处理。本节按以下内容讲解Okhttp缓存相关的内容。 缓存的优势 HTTP的缓存机制 Okhttp的缓存启用 Okhttp的读取缓存流程 Okhttp的存储缓存策略 Okhttp的CacheControl和缓存策略介绍 缓存的优势缓存的使用场景很多,通过它可以将数据通过一定的规则存储原创 2017-11-20 17:02:46 · 903 阅读 · 0 评论 -
Okhttp解析(二)网络请求的执行
上节我们讲解了Okhttp的简单介绍,请求任务的分发,以及请求响应的拦截。现在我们分析数据的请求是如何进行的。在阅读http请求数据之前,你可能需要了解http和tcp相关的知识。 http原理 http://www.jianshu.com/p/2efddfaea9c3 http://www.jianshu.com/p/26095e423da0 https原理原创 2017-11-04 11:49:44 · 556 阅读 · 0 评论 -
Okhttp解析(四)网络连接的建立
Okhttp作为一款底层网络访问框架,它和Volley等上层网络框架不一样的地方在于,Okhttp自己实现了与服务端的TCP连接,并在此连接上根据HTTP协议的规范与服务端进行HTTP协议及内容的请求和响应。Okhttp将请求内容通过修正,填充等方式封装成符合HTTP规范的HTTP请求内容,通过TCP连接,将内容以流的方式输出给服务端,并从服务端返回的响应流中读取出响应内容,根据HTTP协议解析并作原创 2017-11-13 18:36:27 · 1370 阅读 · 0 评论 -
Replugin插件化框架简要分析
题记写这篇关于Replugin插件化框架的分析,旨在引导读者去快速的了解RePlugin的大概实现原理,文中会抛出需要了解的知识点,并明确的指出大致的流程,指引你去更快速的理解它,避免走过多弯路。因为Replugin的源码中文注释已经够详细了,这里我不贴源码,节省读者的阅读时间,需要具体了解的对照着看源码,想必会更加清晰。原创 2017-10-26 18:10:09 · 685 阅读 · 0 评论 -
Glide原理之执行流程分析
Glide是一个优秀的图片加载库,它有如下优点: 1. Glide可以监听Activity的生命周期管理,更加合理的管理图片的加载和释放。 2. 加载质量,Picasso默认采用的ARGB-8888, Glide默认采用的是RGB-565,内存占用会减小一半。 3. Glide可以加载Gif图。 4. 缓存策略和加载速度。Picasso缓存的是全尺寸,而Glide的缓存的图片和ImageV...原创 2018-06-24 17:19:19 · 479 阅读 · 0 评论