-
Retrofit
官方:
https://square.github.io/retrofit/
推选源码分析:
[动态代理三部曲:上] - 动态代理是如何"坑掉了"我4500块钱
[动态代理三部曲:中] - 从动态代理,看Class文件结构定义
[动态代理三部曲:下] - 从动态代理,看Retrofit的源码实现
大体:
使用动态代理, 在代理的invoke()中解析注解, 封装成OkHttpCall, 再转换为Okhttpd的Call -
OkHttp
官方:
https://square.github.io/okhttp/
推选源码分析:
okhttp源码分析(一)——基本流程(超详细)
okhttp源码分析(二)——RetryAndFollowUpInterceptor过滤器
okhttp源码分析(三)——CacheInterceptor过滤器
okhttp源码分析(四)——ConnectInterceptor过滤器
okhttp源码分析(五)——CallServerInterceptor过滤器
BridgeInterceptor
大体:
维护一个线程池处理请求, 请求过程在Interceptor中传递, 由上往下续层调用, 由下往上续层返回 -
Glide
官方:
https://github.com/bumptech/glide
推选源码解析:
[Glide4源码解析系列]--1.Glide初始化
[Glide4源码解析系列]--2.Glide数据模型转换与数据抓取
[Glide4源码解析系列]--3.Glide数据解码与转码
Glide 源码分析解读-基于最新版Glide 4.9.0
大体:
把主流程源码大概阅读后, 可以分功能模块阅读, 大体分为请求、引擎、加载器、解转码器、缓存几个模块 -
其他
点击事件分发:
为啥还在聊:事件分发?还不是因为不会!
事件分发勘误:当前View的TouchTarget是什么
NestedScrolling:
做出逆天的体验,除了参透事件分发,还需要了解NestedScrolling
网友评论