![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android源码分析
文章平均质量分 86
taiyang5946
这个作者很懒,什么都没留下…
展开
-
Volley中的缓存策略
Volley实现了对请求响应的结果进行磁盘缓存,这样就不用每次都从服务器上请求数据。Volley的缓存是在DiskBasedCache这个类中实现的,它是在创建请求队列的时候被创建出来的。private static final String DEFAULT_CACHE_DIR = "volley";File cacheDir = new File(context.getCacheDir()...原创 2018-04-11 20:24:14 · 375 阅读 · 0 评论 -
Volley源码分析
Volley是一个轻量级的、适合请求频繁但是请求数据很小的场景的网络请求框架,所以它并不适合文件下载等请求数据量大的情况。Volley是google官方出品的,但是并没有方法到SDK中,它的源码在android源码framework目录下面,必须我下了一个android7.1.1_r28这个分支上的源码,android_7_1_1_r28\frameworks\volley,所以如果需要使用vol...原创 2018-04-11 20:26:20 · 118 阅读 · 0 评论 -
AsyncTask源码分析
AsyncTask是Android提供的一个轻量级的处理UI刷新的类,它提供了在子线程处理耗时任务并在UI线程刷新的功能,它实际上就是一个Handler+Thread,内部封装了这两者便于我们来简单编写UI刷新功能的代码。AsyncTask的使用非常简单:继承AsnycTask类,指定三个泛型参数,实现doInBackground(Result)方法,该方法用来处理耗时操作,会在子线程中...原创 2018-04-11 20:27:44 · 142 阅读 · 0 评论 -
通过源码理解LruCache的实现
LRU的全称是Least Recently Used,表示最近最少使用,它的实现主要是靠内部的一个LinkedHashMap来实现的,它内部维护了一个LinkedHashMap对象集合,所有的数据都是保存在该集合中的。LruCache是内存缓存,默认情况它缓存的数据都是强引用的,如果需要使用在本地磁盘缓存的话,可以使用DiskLruCache来实现。下面通过阅读源码来理解LruCache的...原创 2018-04-11 20:30:01 · 118 阅读 · 0 评论 -
AndFix深入源码分析
AndFix是阿里出品的一款轻量级热修复框架,它可以在应用执行期间去修复那些有bug的方法。它的实现思路其实并不复杂,首先它需要通过一个apkpatch工具来将一个有bug的apk和一个已经修复好了bug的apk进行对比,将修复好的方法提取出来,生成一个xxx.apatch文件,该文件实际上是一个压缩文件,它里面包含了修复好的一个.dex文件和该文件的一些描述信息文件META-INF,如图所示...原创 2018-04-11 20:32:21 · 137 阅读 · 0 评论 -
Retrofit快速入门使用
Retrofit和OkHttp都是出自Square,目前在Android端的网络请求框架,Retrofit+OkHttp+RxJava组合算是最流行的了。那么本篇文章就先来介绍一下Retrofit的使用方式。Retrofit的GitHub地址:https://github.com/square/retrofitRetrofit是一个基于RESTful API的网路请求工具,它能够将一个ja...原创 2018-04-19 18:25:51 · 332 阅读 · 0 评论 -
Retrofit源码分析
在上一篇中介绍来Retrofit如何使用,如果有不清楚Retrofit的使用的话可以看我的上一篇文章Retrofit快速入门使用 那么这一篇我们就从源码的角度来深入的了解Retrofit的实现,本篇文章基于Retrofit2.4.0来分析。一般我们会使用如下方式来创建一个retrofit对象,Retrofit retrofit = new Retrofit.Builder() ...原创 2018-04-19 18:27:58 · 265 阅读 · 0 评论 -
Picasso图片加载源码分析
Picasso是Square出品的一款轻量级的图片加载框架,它的api设计也非常的简单,Picasso常见的用法如下:Picasso.with(context).load(url).reesize(x,y).into(imageview);,就这简简单单的几步就可以实现图片的加载,那么在这几步中到底做了哪些事情,那么本篇我们就来说说Picasso的原理。首先来一张Picasso的整体结构图...原创 2018-05-01 17:18:26 · 258 阅读 · 0 评论