一、interceptor 使用ARouter的拦截器的话,会生成对应的ARouter$$Providers$${模块名}的class类,比如:...
1.ThreadPoolExecutor.execute 这里主要做两件事: 小于corePoolSize的时候创建核心线程 当前核心线程都正在...
一、常见的线程池 FixedThreadPool、CachedThreadPool、ScheduledThreadPool、SingleThre...
一、Request的初始化 其实Request的初始化,主要就是看Builder类的构造器和build()方法 1.Builder的构造器 Bu...
在外部线程并不能拿到匿名内部类线程对象的Looper。比如主线程,创建了一个Thread对象,并不能通过Thread对象获取到该Thread的L...
一、分析案例 在MainActivity中,调用下面的方法: 二、DataBinding源码分析 1.首先,看使用了DataBinding的布局...
一、前言(了解ReferenceQueue) 在分析LeakCanary原理之前,首先需要了解ReferenceQueue在LeakCanary...
一、SparseArray原理 SparseArray中采用的是双数组的方式,在SparseArray有一个int数组和一个Object数组,S...
Lifecycle 1.引入库 2.Android Activity中的Lifecycle源码解析 Event触发的时机: ON_CREATE、...