前言 今年有很多意外,也有太多的确定性,像大多数人总结的那样,归之一个字:快。是的,很奇怪,年初的时候,大家都知道,今年是很难过的一年,可时间白驹过隙,风吹而逝之。 确定性 ...
前言 今年有很多意外,也有太多的确定性,像大多数人总结的那样,归之一个字:快。是的,很奇怪,年初的时候,大家都知道,今年是很难过的一年,可时间白驹过隙,风吹而逝之。 确定性 ...
1.OkHttp源码解析(一):OKHttp初阶2 OkHttp源码解析(二):OkHttp连接的"前戏"——HTTP的那些事3 OkHttp源码解析(三):OKHttp中阶...
RecyclerView作为一个非常惹人爱的控件,有一部分的功劳归于它优秀的缓存机制。RecyclerView的缓存机制属于RecyclerView的核心部分,同时也是比...
本文是根据gradle3.1.2源码进行分析。Android Gradle Plugin本质上是一个gradle插件,肯定遵循自定义插件的结构,即继承Plugin类的源码,r...
开发应用时, 通常会有几个不同的版本。最常见的是有一个测试用的临时版本和一个生产版本。这些版本通常有不同的设置,比如不同的URL地址等。除此之外,你可能有一个免费版和一个包含...
依赖管理是Gradle的一个亮点。在最好的情况下,你只需要在构建文件中添加一行代码,Gradle就可以从远程仓库下载依赖并确保可用。当你所需的依赖还有它自己的依赖时,Grad...
上一章我们学习了Gralde的使用,创建和转换Android工程。本章我们将深入了解构建文件,学习一些有用的tasks,探索Gradle和Android插件。 本章我们关注以...
Google引入Gradle和Android Studio时,希望更容易的去重用代码、创建构造变体和配置、自定义构造过程。除此之外,他们想要好的IDE集成,但是又不想让构建系...
虚拟内存1.1. 为什么要使用虚拟内存技术1.2. 理论前提1.3. 虚拟内存实现1.4. 页机制1.5. MMU1.6. 物理内存映射 进程的内存分布2.1. 内核态2.2...