阅读 742

ARouter解析之开篇

原文链接: xsfelvis.github.io

ARouter解析

简介

这个库非常值得学习,里面涉及到的技术和编程思想都是不错的

  1. APT 编译器注解处理技术
  2. URL的统一管理跳转的方案
  3. ‘服务’的解耦(接口设计)与获取(反射)
  4. 多线程处理技术 (CountDownLatch的使用)
  5. 拦截器思想、降级策略((AOP的设计思想))、分组加载策略
  6. 友好的api设计

整体设计

ARoute

再进一步抽象就是“邮票”PostCard信息的完善过程,当信息完全填充就可以具体往哪里跳,携带什么参数

Arouter核心抽象

使用原作者的抽象图,整个ARouter架构如下:

37b723fb660fdfcf7cdc09c194c88a8073d8272d

e4d3ec6020479ef2043cfd7e10cfaf33254ac309

其实在Android原生跳转主要是通过intent,主要分为显式和隐式跳转,显示跳转直接导致类之间的耦合,而隐式跳转需要在清单文件中申明,在多模块协作中比较困难,而且二者最终都会调用startActivity,这个环节我们就无法控制了,而ARouter路由可以在跳转中进行如同拦截,跳转失败进行降级的操作。

把握好了整体,下面将分几篇介绍这个开源库,见开篇链接。