看了这么多,你写的最好,看下来思路很清晰。
十二、Retrofit2 源码解析(绝对详细)Retrofit2 源码解析 注意: 本文是对源码的一个跟踪,会对每一行代码有具体的阐述,但是不会介绍 Retrofit 的设计模式。 Retrofit:一个 Restful...
看了这么多,你写的最好,看下来思路很清晰。
十二、Retrofit2 源码解析(绝对详细)Retrofit2 源码解析 注意: 本文是对源码的一个跟踪,会对每一行代码有具体的阐述,但是不会介绍 Retrofit 的设计模式。 Retrofit:一个 Restful...
嘿嘿
为什么 尽管已经有很多介绍单例模式的文章了,但是还是需要自己亲自写一遍才知道,才能熟悉,所以动手写起来吧。 直接上代码,解释都在注释里,只写了推荐的写法。
Retrofit2 源码解析 注意: 本文是对源码的一个跟踪,会对每一行代码有具体的阐述,但是不会介绍 Retrofit 的设计模式。 Retrofit:一个 Restful...
Android Studio 3.1.2 在 AndroidStudio 中,被 Git 管理的代码在修改后,文件会有明显的颜色变化。然而我的突然之间没变了,感觉很奇怪,而且...
本文是自己看过一些资料后的总结,如要详细了解事件分发机制,请看「参考」内的文章。 一、事件分发基础认知 1.1 当我们在谈论事件分发时,到底再谈论什么? 当用户触摸屏幕时,会...
1. View分类 即视图View分为两类: View、ViewGroup 2. View类简介 View 类是Android中各种组件的基类,如View是ViewGroup...
如需详细了解,请看 [参考] 链接。 1. measure measure 用于测量 view 的宽 / 高 MeasureSpec 注:图可能会不准确,因为是根据自己的思维...
1. Java 虚拟机运行时数据区域 2. 各区域解释 详细模型图: 2.1 程序计数器 说明: 程序计数器是一块较小的内存空间,它可以看作当前线程所执行的字节码的行号指示器...
Java 与 C++ 之间有一堵由 内存动态分配和垃圾收集技术 所围成的 “高墙”,墙外面的人想进去,墙里面的人却想出来。 说起 垃圾收集(Garbage Collectio...
Java 与 C++ 之间有一堵由 内存动态分配和垃圾收集技术 所围成的 “高墙”,墙外面的人想进去,墙里面的人却想出来。 类的生命周期如下: 上图是类的 生命周期。 Jav...
从开发的角度来讲,Handler 是 Android 消息机制的上层接口。因此我们主要讨论的是 Handler 的运行机制。 那么首先回答个问题,为什么要有 Handler ...
Read The Fucking Source Code 0. 准备工作 首先问自己几个问题: 为什么要跨进程通信(IPC)? (进程之间是不可以通信的吗) 怎么做到跨进程通...
0. 如何动态修复 bug 1、下发补丁(内含修复好的 class)到用户手机,即让 app 从服务器上下载。(网络传输) 2、app 通过某种方式,使补丁中的 class ...
0. 几个概念 在操作系统中,线程 是操作系统调度的最小单元,同时线程也是一种受限的系统资源,即线程不可能无限制的产生,并且线程的创建和销毁都会有相应的开销。 在 Andro...
EventBus 源码随想 首先网上已经有不少优秀的EventBus的源码分析文章,这篇只是为了记录自己的理解,毕竟自己亲自写出来才能理解的更深,所以如有不对的地方,还望谅解...
1. Map 接口概述 本文源码基于 JDK1.8 Map 接口定义:将 key 映射到 value 的一个对象。Map 不能包含重复的 key,每个 key 最多映射一个 ...
双端队列题解 239. 滑动窗口最大值 牛客链接LeetCode 链接 方法一:暴力法 该题最直接的解法,直接遍历每个滑动窗口,找到每个窗口的最大值即可。一共会有 N - k...
单调栈题解 单调栈结构 牛客链接 方法:单调栈 算法 这里维护一个单调递增栈,可以找到比当前元素要小的元约定:当前元素 cur,栈顶元素 top,出栈的栈顶元素 tempTo...