摘要: 本文代码可以在 giagor/AptGo - github 找到 研究的原因 最近在学习 Dagger 的时候,发现写几个注解然后编译,Dagger 就可以生成一些类给我们使用,感觉很神奇,所以就找了些资料学习一波。这种处理的技术被称作 Annotation Processing Tool(APT) 阅读全文
posted @ 2022-08-02 00:44 Giagor 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 本文分析的源码基于retrofit:2.9.0。 前言 Retrofit基于OkHttp,网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装,它们的关系示意图如下: 基本使用 首先添加依赖 // Retrofit implementation 'com.sq 阅读全文
posted @ 2022-01-21 13:53 Giagor 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 前言 本篇解析Kotlin/JVM中的协程的实现原理。 初看suspend关键字 下面的例子模拟一个网络请求: class Temp { suspend fun fetchData(argument: String): Boolean { val result = netRequest(argume 阅读全文
posted @ 2022-01-19 19:47 Giagor 阅读(1828) 评论(0) 推荐(0) 编辑
摘要: 前言 本篇是在Android官网对Kotlin协程的学习记录。记录Kotlin Coroutines在Android上的特点、应用等 协程概述 一、协程是什么? 协程是一种并发的设计模式,可以使用它来简化异步执行的代码,它可以帮助管理一些耗时的任务,以防耗时任务阻塞主线程。协程可以用同步的方式写出异 阅读全文
posted @ 2022-01-19 19:40 Giagor 阅读(1080) 评论(0) 推荐(0) 编辑
摘要: 《Java并发编程的艺术》读书笔记 锁的作用 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 Lock接口 在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而Java SE 5之后,并发包中新增了Lock接口(以及相关实 阅读全文
posted @ 2022-01-15 01:59 Giagor 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 《Java并发编程的艺术》读书笔记 通信与同步 并发编程,需要处理两个关键问题: 线程之间如何通信 线程之间如何同步 「通信」是指线程之间以何种机制来交换信息,线程之间的通信机制有两种: 共享内存:线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信 消息传递:线程之间没有公共状态,线 阅读全文
posted @ 2022-01-15 01:55 Giagor 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 前言 在前面的文章中,我们介绍完了所有OkHttp自带的拦截器,再回顾一下整个拦截器责任链图: 在整个拦截器责任链中,用户还可以添加自定义的拦截器,有两个位置可以添加,对应的方法分别是: OkHttpClient.Builder::addInterceptor方法 fun addIntercepto 阅读全文
posted @ 2021-12-19 00:54 Giagor 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 前言 接下来我们要分析的是拦截器链上的最后一个拦截器CallServerInterceptor,它用于写入请求与获取响应,这里不需要再调用拦截器责任链的proceed方法,CallServerInterceptor在intercept方法中将自己的工作做完后,就直接将响应返回给上一拦截器。 Call 阅读全文
posted @ 2021-12-19 00:52 Giagor 阅读(1807) 评论(0) 推荐(0) 编辑
摘要: 前言 上一篇文章我们介绍了CacheInterceptor拦截器,这篇文章我们要介绍的拦截器是ConnectInterceptor,该拦截器的作用是获得一个健康可用的与目标服务器的连接,然后就将请求交给下一个拦截器处理。 该拦截器的内部实现非常的复杂,涉及到OkHttp许多的机制,例如路由选择机制、 阅读全文
posted @ 2021-12-19 00:34 Giagor 阅读(2444) 评论(1) 推荐(1) 编辑
摘要: 前言 上一篇文章,我们介绍了BridgeInterceptor,这一篇文章我们就来介绍CacheInterceptor,它与OkHttp的缓存机制有关。 在介绍OkHttp的缓存机制之前,我们先来了解下Http的缓存机制。 Http的缓存机制 缓存主要指代理服务器或客户端的磁盘中保存的资源副本,通过 阅读全文
posted @ 2021-12-19 00:19 Giagor 阅读(931) 评论(0) 推荐(0) 编辑