LiveEventBus源码分析

不再分析了,理解了LiveData后,不难理解这个框架。 阅读本文前,请先阅读[《Jetpack之LiveData源码分析》](/源码分析系列/LiveEventBus源码分析.md)。因为LiveEventBus是基于LiveData构建的。 源码地址:LiveEventB...

LeakCanary原理分析

dependencies { // debugImplementation because LeakCanary should only run in debug builds. debugImplementation 'com.squareup.leakcanary:leakca...

Jetpack之LiveData源码分析

在阅读这篇文章前,需要先对Lifecycle有所了解。 Lifecycle是LiveData的根基,先有了生命周期的管理,才能进行安全不泄漏的数据观察。 先要引入LiveData: implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:...

Jetpack之Lifecycle源码分析

这是一篇解析jetpack库中的Lifecycle库的分析文章。 def lifecycle_version = "2.2.0" // Lifecycles only (without ViewModel or LiveData) implementation "androidx.lifecycle...

Glide源码分析与自我实现(二)——缓存与BitmapPool

本文基于Glide 4.11.0 参考文章:Glide 源码分析解读-缓存模块-基于最新版Glide 4.9.0 **注意:**由于版本差异问题,本文有些部分与参考文章有差异。 缓存模块是Glide中非常重要的部分,Glide图片加载的高效性,几乎有一半功劳都在这里了。 一般来说,Glide有三...

Glide源码分析与自我实现(一)——数据加载主流程

本文基于Glide 4.11.0 阅读前请参考Glide 源码分析解读-基于最新版Glide 4.9.0一文,该文章中,将Glide中各个部分的作用分析的非常好了。 Glide几乎是现在做Android图片加载的最佳选择了。如此优秀的一个框架是如何实现的呢?如果让我们自己来实现该怎么做呢?我们就...

ARouter源码分析

在阅读源码前,请先下载源码:ARouter 最近阅读ARouter源码,发现这真的是一个非常优秀的框架。激发出兴趣来读一下他的源码,实际上,这个框架的结构非常简单。这个框架可以分为主流程和辅助流程来拆开分析。 主流程包含编译时和运行时两个部分,其中编译时主要做的是路由路径表的构建,运行时主要做的是路...