Android第三方库学习实践之路
ostracod_lvj
一生征战何人陪,谁是谁非谁相随。 戎马一生为了谁,能爱几回恨几回。
https://github.com/crazyandcoder
展开
-
Android网络框架分析-http学习记录
HTTP请求一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容。 请求行请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST。GET和POST的区别GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变传输数据的大小,GET:特定浏览器和服务器对URL长度有限制,例如 IE对URL长度的限制原创 2018-01-30 15:29:48 · 387 阅读 · 4 评论 -
Android UIL图片加载缓存源码分析-硬盘缓存
上面一篇文章《Android UIL图片加载缓存源码分析-内存缓存》我们已经分析了Android著名的图片加载库UIL的内存缓存模型,本篇文章我们接着分析另外一种缓存方式-磁盘缓存,磁盘缓存说到底就是将图片缓存到本地SD卡中,我们通过UIL的磁盘缓存来分析一下。源码环境版本:V1.9.5GitHub链接地址:https://github.com/nostra13/Android-Unive...原创 2019-11-12 20:03:15 · 351 阅读 · 0 评论 -
Android UIL图片加载缓存源码分析-内存缓存
本篇文章我们来分析一下著名图片加载库Android-Universal-Image-Loader的图片缓存源码。源码环境版本:V1.9.5GitHub链接地址:https://github.com/nostra13/Android-Universal-Image-Loader我们一般去加载大量的图片的时候,都会做缓存策略,缓存又分为内存缓存和硬盘缓存 ,使用的内存缓存是LruCache这...原创 2019-11-12 09:40:43 · 201 阅读 · 0 评论 -
OKHttp源码解析(二)线程调度Dispatcher
官方资料OkHttp官网地址:http://square.github.io/okhttp/ OkHttp GitHub地址:https://github.com/square/okhttp本篇文章解析一下OKHttp中关于Dispatcher部分的内容。源码环境OKHttp3.2.01,Dispatcher分析当我们在使用OKHttp的时候,不管是同步请求还是原创 2018-02-06 10:44:58 · 1074 阅读 · 0 评论 -
OKHttp源码解析(一) OkHttp整体流程
OkHttp官网地址:http://square.github.io/okhttp/ OkHttp GitHub地址:https://github.com/square/okhttp 本篇文章阐述一下OKHttp的整体流程。首先通过代码来一步一步进行分析它的内部流程。源码环境OKHttp3.2.01,基本用法1.1,创建 OkHttpClient 对象final原创 2018-02-05 11:52:45 · 1203 阅读 · 0 评论 -
Android网络框架volley学习(十一)volley源码解析总结
到此为此,关于volley源码解析的文章总共十篇,分别如下。 Android网络框架volley学习(一)基本用法Android网络框架volley学习(二)工作流程分析 Android网络框架volley学习(三)底层网络请求分析Android网络框架volley学习(四)网络请求HttpURLConnection与HttpClient浅析 Android网络框架volley学习(原创 2018-01-29 10:55:59 · 329 阅读 · 0 评论 -
Android网络框架volley学习(十)分发结果ResponseDelivery简析
前面几篇文章讲解了一些请求响应等内容,本篇文章继续讨论关于结果分发的原理,这里面涉及到ResponseDelivery和ExecutorDelivery等类。ResponseDeliveryResponseDelivery类是一个接口,里面重载了三种方法。 //从网络或者缓存response中解析并分发出去原创 2018-01-29 10:47:45 · 529 阅读 · 0 评论 -
Android网络框架volley学习(九)请求结果Response<T>简析
当我们发送一个网络请求时,首先得从缓存中查询一遍,看是否存在符合的请求结果,否则的话从网络中获取请求结果,同时存入缓存中,这样不管是网络请求还是缓存获取,最终都得将结果封装下然后分发出来,这就用到Response这个类,本篇我们继续分析返回结果Response相关内容原创 2018-01-29 09:56:25 · 1876 阅读 · 0 评论 -
Android网络框架volley学习(五)请求队列RequestQueue简析
RequestQueue:表示请求队列,查看源码得知,里面包含一个CacheDispatcher(用于处理走缓存请求的调度线程)、NetworkDispatcher数组(用于处理走网络请求的调度线程),一个ResponseDelivery(返回结果分发接口),通过 start() 函数启动时会启动CacheDispatcher和NetworkDispatchers。本篇内容我们来详细的了解一下原创 2018-01-19 11:57:29 · 3426 阅读 · 0 评论 -
Android网络框架volley学习(四)网络请求HttpURLConnection与HttpClient浅析
相关文章《Android网络框架volley学习(三)底层网络请求分析》volley的底层使用HttpURLConnection与HttpClient这两种网络请求方式,在本篇文章中,我们简单了解一下这两种请求方式的用法。在学习之前,我们首先了解一下,http请求的两种常见的方法,GET请求与POST请求。详细的http内容请查看《android http学习总结》 HttpU原创 2018-01-18 17:03:16 · 505 阅读 · 0 评论 -
Android网络框架volley学习(八)缓存Cache简析
不管是NetworkDispatcher还是CacheDispatcher它们里面都会涉及到Cache的处理,本篇文章我们来深入了解下Cache的实现原理。Cachepublic interface Cache { /** * Retrieves an entry from the cache. * @param key Cache key * @原创 2018-01-26 15:14:35 · 585 阅读 · 0 评论 -
Android网络框架volley学习(三)底层网络请求分析
相关文章《 Android网络框架volley学习(一)基本用法》《 Android网络框架volley学习(二)工作流程分析》前面我们分析了一下volley的基本用法及总体工作流程,由于volley是一个网络请求框架,所以本篇我们分析一下它的底层网络请求。volley源码说长不长,说短不短,也有几十个类,该从哪里开始分析呢?我们从最基本的开始分析,还记得一开始进行发送请求的代码原创 2018-01-18 16:11:18 · 896 阅读 · 0 评论 -
Android网络框架volley学习(二)工作流程分析
前一篇文章《 Android网络框架volley学习(一)基本用法》学习了volley的基本用法,接下来主要进行源码的分析,本篇文章分析一下volley的大概工作流程,然后针对每一部分进行详细的分析。工作流程首先我们来看一下官网给出的流程图,这张图什么意思呢?首先,这里面有三种颜色,该图右下角也标出来了,蓝色代表主线程,绿色代表缓存线程,橙色代表网络线程。首先,我们通过在主线程原创 2018-01-18 15:06:14 · 461 阅读 · 0 评论 -
Android网络框架volley学习(七)调度器NetworkDispatcher简析
前一篇《Android网络框架volley学习(六)调度器CacheDispatcher简析》了解了关于缓存线程调度CacheDispatcher的工作原理,它里面会判断缓存是否存在、是否过期以及是否需要刷新等操作,如果不满足的话则需要加入到网络请求队列,从而让NetworkDispatcher去处理它。本篇我们继续来学习NetworkDispatcher实现过程,看看网络线程是如何处理请求的?原创 2018-01-26 10:50:12 · 647 阅读 · 0 评论 -
Android网络框架volley学习(六)调度器CacheDispatcher简析
在前面的分析文章中,我们了解到,当发起一个请求时,首先加入到请求队列中,请求队列中是如何工作的呢?它会首先去缓存队列中取,如果不符合的话另开网络线程去执行这个请求操作。源码路径RequestQueue#start/** * Starts the dispatchers in this queue. */ public void start() {原创 2018-01-25 18:00:04 · 517 阅读 · 0 评论 -
Android网络框架volley学习(一)基本用法
记录学习Android网络基础框架volley的过程。首先我们需要将volley下载下来导入Android Studio中,我学习一个开源库,最好的方式就是将其源码以module的方式依赖到工程中去,这样我如果需要修改什么的话,就可以直接修改源码,同样volley学习也一样。导入volley源码1) 下载volley源码git clone https://github.com/原创 2018-01-17 14:28:57 · 2795 阅读 · 0 评论 -
Rxjava 1.0使用记录一
关于Rxjava的学习使用,《给 Android 开发者的 RxJava 详解》,这篇blog写的很好,可以去看下。目前我们主要学习1.0的相关使用方法。为什么么要学习1.0呢?主要考虑先熟悉一下基本的概念,这样跨越到2.0的话不会太难,因为Rxjava的学习曲线比较陡,入门不是很容易,所以我们先学习一下基础。目前Rxjava最新的版本为2.x了。Rxjava的GitHub地址为:Rxjava2.原创 2018-01-17 10:37:48 · 297 阅读 · 0 评论