前言 今年有很多意外,也有太多的确定性,像大多数人总结的那样,归之一个字:快。是的,很奇怪,年初的时候,大家都知道,今年是很难过的一年,可时间白驹过隙,风吹而逝之。 确定性 ...
前言 今年有很多意外,也有太多的确定性,像大多数人总结的那样,归之一个字:快。是的,很奇怪,年初的时候,大家都知道,今年是很难过的一年,可时间白驹过隙,风吹而逝之。 确定性 ...
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...
前言 进入文章之前让我们知道线程的生命状态有哪些(总结自《深入理解JVM》): 新建状态 运行态:正在运行或者正在等待CPU分配时间片。 无限期等待状态:不会被CPU分配时间...
什么是进程?按照操作系统中的描述,进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。android系统是基于Linux的,一个进程就对应一个Dalvik虚拟机...
我最近在研究room,楼主的文章写的很好😀
从Room源码看抽象与封装——Dao目录 源码解析目录从Room源码看抽象与封装——SQLite的抽象从Room源码看抽象与封装——数据库的创建从Room源码看抽象与封装——数据库的升降级从Room源码看抽象与...
目录 源码解析目录从Room源码看抽象与封装——SQLite的抽象从Room源码看抽象与封装——数据库的创建从Room源码看抽象与封装——数据库的升降级从Room源码看抽象与...
目录 源码解析目录从Room源码看抽象与封装——SQLite的抽象从Room源码看抽象与封装——数据库的创建从Room源码看抽象与封装——数据库的升降级从Room源码看抽象与...
目录 源码解析目录从Room源码看抽象与封装——SQLite的抽象从Room源码看抽象与封装——数据库的创建从Room源码看抽象与封装——数据库的升降级从Room源码看抽象与...