C1☆ Blog

Thinking will not overcome fear but action will.

深入MultiDex优化

深入MultiDex优化

深入MultiDex优化 回顾 在上一篇文章Tinker资源热修复中的压缩美学中我们通过对TinkerZipFile、TinkerZipEntry、TinkerZipOutputStream的源码进行学习,进一步加深对zip文件结构的了解,以及实际地看到了Tinker的作者是如何把自己对zip文件的理解应用在项目中的 而本文的目的是想深入MultiDex优化,网上其实关于MultiDe...

Tinker资源热修复中的压缩美学

Tinker资源热修复中的压缩美学

Tinker资源热修复中的压缩美学 回顾 Tinker资源热修复实际上还是采用了instant-run的方式,通过反射创建新的AssetManager的方式去进行,而Tinker资源热修复中的特点就是会生成补丁包,然后补丁包下发到客户端后进行合并,而这篇文章主要想分析Tinker中对zip文件独特的处理 在Tinker进行资源合并的时候,其实可以看到Tinker并没有采用ZipOutp...

Handler回顾中的思考

Handler机制回顾

Handler回顾中的思考 前言 正常来说这个时间,我应该是在学校开展新一轮的学习以及项目进度的推动,但是由于疫情的波动,一直在家,终于下定决心,在家里等待的同时,把这段时间在家里沉淀以及思考的东西写在笔记里,记录下来 在学习Handler源码的过程中,走到了native层去看到了在Handler中等待唤醒机制的设计,但是并没有对其中两个关键的系统调用进行学习:eventfd、epol...

Handler机制回顾

Handler机制回顾

Handler机制回顾 前言 最近这段时间,回过头去看一些以前学习过的知识,真的是同样的代码有不同的感受,以前看不懂没理解的地方,慢慢地可以更加深入地理解了 应用启动流程 应用进程的启动流程主要为: Launcher-> startActivity AMS-> startActivity Zygote-> fork进程 ActivityThrea...

OkHttp源码解析(七)请求写入与响应读取

Android框架学习

OkHttp源码解析(七)请求写入与响应读取 CallServerInterceptor-> intercept @Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (RealInterceptorChain) chain...

OkHttp源码解析(六)连接管理(下)

Android框架学习

OkHttp源码解析(六)连接管理(下) 前言 本来想一篇笔记把Ok的连接管理走完,但是最后发现东西有点多,所以在上一篇笔记只追看到findConnection方法引申出来的ConnectionPool和连接复用机制,这一篇笔记就把剩下的连接创建过程以及路由相关点走完 ExchangeFinder-> findConnection private RealConnection ...

OkHttp源码解析(五)连接管理(上)

Android框架学习

OkHttp源码解析(五)连接管理(上) ConnectInterceptor-> intercept @Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (RealInterceptorChain) chain; ...

OkHttp源码解析(四)缓存机制

Android框架学习

OkHttp源码解析(四)缓存机制 CacheInterceptor-> intercept @Override public Response intercept(Chain chain) throws IOException { // 先从缓存中获取,request是key Response cacheCandidate = cache != null ...

OkHttp源码解析(三)请求响应转换

Android框架学习

OkHttp源码解析(三)请求响应转换 BridgeInterceptor-> intercept @Override public Response intercept(Chain chain) throws IOException { Request userRequest = chain.request(); // 构建一个新的Builder Re...

OkHttp源码解析(二)重定向

Android框架学习

OkHttp源码解析(二)重定向 RetryAndFollowUpInterceptor-> intercept @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); RealInterceptorChain r...