IRouter——自己手撸一个路由框架
现在最流行的路由框架应该是阿里的ARouter,这几乎是组件化应用的必备了。但是ARouter用起来稍微有一点不爽,不爽在以下两点: 没有一个规范化的api式的调用方式:项目大了,调用路由的方法分布在项目各处,难以查找; 对startActivityForResult支持不够友好:按照传统方式,在...
包含 9 篇文章
现在最流行的路由框架应该是阿里的ARouter,这几乎是组件化应用的必备了。但是ARouter用起来稍微有一点不爽,不爽在以下两点: 没有一个规范化的api式的调用方式:项目大了,调用路由的方法分布在项目各处,难以查找; 对startActivityForResult支持不够友好:按照传统方式,在...
不再分析了,理解了LiveData后,不难理解这个框架。 阅读本文前,请先阅读[《Jetpack之LiveData源码分析》](/源码分析系列/LiveEventBus源码分析.md)。因为LiveEventBus是基于LiveData构建的。 源码地址:LiveEventB...
dependencies { // debugImplementation because LeakCanary should only run in debug builds. debugImplementation 'com.squareup.leakcanary:leakca...
在阅读这篇文章前,需要先对Lifecycle有所了解。 Lifecycle是LiveData的根基,先有了生命周期的管理,才能进行安全不泄漏的数据观察。 先要引入LiveData: implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:...
这是一篇解析jetpack库中的Lifecycle库的分析文章。 def lifecycle_version = "2.2.0" // Lifecycles only (without ViewModel or LiveData) implementation "androidx.lifecycle...
项目Demo地址:GifHelper 什么是APT? APT是Annotation Processing Tool的简称,即编译时注解处理器。它是一个javac的工具,在编译时,通过注解,按照规则自动生成相关代码的工具。 APT与Glide什么关系? 我们通常通过在build.gradle加入这样一...
本文基于Glide 4.11.0 参考文章:Glide 源码分析解读-缓存模块-基于最新版Glide 4.9.0 **注意:**由于版本差异问题,本文有些部分与参考文章有差异。 缓存模块是Glide中非常重要的部分,Glide图片加载的高效性,几乎有一半功劳都在这里了。 一般来说,Glide有三...
本文基于Glide 4.11.0 阅读前请参考Glide 源码分析解读-基于最新版Glide 4.9.0一文,该文章中,将Glide中各个部分的作用分析的非常好了。 Glide几乎是现在做Android图片加载的最佳选择了。如此优秀的一个框架是如何实现的呢?如果让我们自己来实现该怎么做呢?我们就...
在阅读源码前,请先下载源码:ARouter 最近阅读ARouter源码,发现这真的是一个非常优秀的框架。激发出兴趣来读一下他的源码,实际上,这个框架的结构非常简单。这个框架可以分为主流程和辅助流程来拆开分析。 主流程包含编译时和运行时两个部分,其中编译时主要做的是路由路径表的构建,运行时主要做的是路...