ARouter解析
简介
这个库非常值得学习,里面涉及到的技术和编程思想都是不错的
- APT 编译器注解处理技术
- URL的统一管理跳转的方案
- ‘服务’的解耦(接口设计)与获取(反射)
- 多线程处理技术 (CountDownLatch的使用)
- 拦截器思想、降级策略((AOP的设计思想))、分组加载策略
- 友好的api设计
整体设计
再进一步抽象就是“邮票”PostCard信息的完善过程
,当信息完全填充就可以具体往哪里跳,携带什么参数
使用原作者的抽象图,整个ARouter架构如下:
其实在Android原生跳转主要是通过intent,主要分为显式和隐式跳转,显示跳转直接导致类之间的耦合,而隐式跳转需要在清单文件中申明,在多模块协作中比较困难,而且二者最终都会调用startActivity,这个环节我们就无法控制了,而ARouter路由可以在跳转中进行如同拦截,跳转失败进行降级的操作。
把握好了整体,下面将分几篇介绍这个开源库,见开篇链接。