源码
文章平均质量分 89
禄的光线
干吧!没啥说的。
展开
-
MMKV源码解析
基于version:1.2.51、初始化 2、获取MMKV实例 1、MMKV内部构建 文件映射:m_metaFile 载入数据:loadFromFile 3、写入:encode 在缓存中找到了 扩容 最后的写入操作:doAppendDataWithKey 4、读取:decode 5、其他:多进程、文件锁等1、初始化链路:MMKV.java:initialize->jniInitialize→native-bridge.cpp:ini原创 2022-03-23 22:04:16 · 1854 阅读 · 0 评论 -
OkHttp源码笔记之BridgeInterceptor
上篇 我们了解了下OkHttp的重连机制(RetryAndFollowUpInterceptor),此处我们来看下他的下一级拦截器。BridgeInterceptor。从名字我们已经差不多已经了解了它一半---桥接器。嘿嘿,那就来看下代码验证下吧。 public Response intercept(Chain chain) throws IOException { ...原创 2019-02-22 15:59:31 · 114 阅读 · 0 评论 -
OkHttp源码笔记之流程简析
这篇博客主要记录下okhttp源码系列的流程,也为了避免下次再忘记看过的东西,废话不多说,直接切入今天的主题。起始先简单了解下使用到的类:OkHttpClient:使用okhttp的起点类,它配合管理包括分发, 响应拦截, 网络配置(超时,重定向重试)等。此外OkHttpClient是以buider模式创建已经初始化一些必要的基本参数Call:请求调用的抽象接口,支持同步和异...原创 2019-02-15 16:07:26 · 179 阅读 · 0 评论 -
OkHttp源码笔记之RetryAndFollowUpInterceptor
上篇简单描述了OkHttp的请求流程没了解的可以点我,这篇主要解读下除自定义的interceptor之后的首个拦截器:RetryAndFollowUpInterceptor(容错的重连拦截器),话不多说,很简单,直接结合代码了解下!首先我们是可以通过OkHttpClient控制是否启用重连机制的而触发时机是在抛出RouteException异常时,那么什么时候会抛出该异常触发重...原创 2019-02-19 16:53:43 · 257 阅读 · 0 评论 -
OkHttp源码笔记之CacheInterceptor
上来就怼,接着上篇BridgeInterceptor的桥接器我们今天来看下下级拦截器CacheInterceptor。CacheInterceptor从字面意思理解为缓存的拦截器,其实它实际的功能也正是如此,来看下其intercept的源码。@Override public Response intercept(Chain chain) throws IOException {...原创 2019-03-02 16:47:56 · 168 阅读 · 0 评论 -
OkHttp源码笔记之ConnectInterceptor
相对于其他Interceptor,连接器代码结构比较简单 @Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (RealInterceptorChain) chain; Request request = realChai...原创 2019-03-09 18:26:17 · 133 阅读 · 0 评论 -
OkHttp源码笔记之CallServerInterceptor
好困啊,这两天,是春乏吗?还是程序员式犯困,哈哈。我们今天来看下OkHttp责任链模式的最后一链:CallServerInterceptor。先上一波核心主体方法: @Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (...原创 2019-03-12 18:09:01 · 164 阅读 · 0 评论 -
源码笔记之HashMap
今天主要任务就是系统的看下HashMap的源码,扫一扫平时没接触到的盲点。首先从我们先来了解一下三个参数及结构。 initialCapacity (初始容量值,默认为16) threshold (阈值,最大限载量,其值=initialCapacity*loadFactor) loadFactor(负载因子,用于控制扩容等操作,默认0.75。当其值越大时则扩容...原创 2019-06-17 14:25:15 · 260 阅读 · 1 评论 -
源码笔记之Retrofit
有一段时间没分享源码的东西了,最近两天有时间,顺便看下Retrofit源码,一是为了完善原来的理解,二是跟大家分享有理解偏差的地方希望大家批评。Retrofit火了很长时间了,刚开始问世时就在自己的网络请求模块引入使用,一晃好几年了,哈哈。我们直接从我们平时的项目配置开始 val client = okHttpClient .addIn...原创 2019-07-24 18:53:11 · 215 阅读 · 0 评论