Skip to content

WDevaloper/SimpleARouter

Repository files navigation

SimpleRouter

对于组件化开发,相信很多人都会考虑这个问题,就是组件间如何通信?当然阿里已经开源了ARouter,本着学习探索精神,看看ARouter的源码实现了这个SimpleRouter,主要是几个不走:

  • 1、使用注解在编译时分别生成不同模块实现了IRouter接口的实现类,这里需要注意的是,由于注解处理在每一个模块都会被调用一次,所以为了生成不同的实现类,我们需要以模块名作为后缀。
  • 2、在第1步已经生成这些类,那怎么把这些类加载进内存呢?有两种方法:(1)、因为我们生成的类是有一定的规则并且以模块命名,所以我们使用模块名匹配完整的类名即可(2)、这个方法也是ARouter是的方法,就是通过遍历dex文件找到我们的类即可。
  • 3、经过上面两个步骤基本就已经完成最重要的部分了,后面是使用path去匹配对应的Class。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages