Android路由框架ARouter分析-创新互联

一、路由方案

成都创新互联公司主要业务有网站营销策划、网站设计制作、成都网站制作、微信公众号开发、重庆小程序开发H5页面制作、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、营销型网站资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。 

 原生的路由方案缺点:

显式:直接的类依赖,耦合严重

隐式:规则集中式管理,协作困难

Manifest扩展性较差

跳转过程无法控制

失败无法降级

ARouter的优势:

使用注解,实现了映射关系自动注册 与 分布式路由管理

编译期间处理注解,并生成映射文件,没有使用反射,不影响运行时性能

映射关系按组分类、多级管理,按需初始化

灵活的降级策略,每次跳转都会回调跳转结果,避免StartActivity()一旦失败将会抛出运营级异常

自定义拦截器,自定义拦截顺序,可以对路由进行拦截,比如登录判断和埋点处理

支持依赖注入,可单独作为依赖注入框架使用,从而实现 跨模块API调用

支持直接解析标准URL进行跳转,并自动注入参数到目标页面中

支持获取Fragment

支持多模块使用,支持组件化开发

…….

这么多好处,是时候来了解一下 ARouter 了。

二、ARouter框架

上图是根据 ARouter 一次基本的路由导航过程,整理的基本框架图,涉及到主要流程,下面进行详细介绍。

三、路由管理

 1.注册

通过注解,在编译时收集使用了注解的类或变量并经过Android Process Tool处理进行统一管理。

包含三种注解@Autowired,@Interceptor,@Route。

@Route

注解定义

String path();//路径URL字符串
String group() default "";//组名,默认为一级路径名;一旦被设置,跳转时必须赋值
String name() default "undefined";//该路径的名称,用于产生JavaDoc
int extras() default Integer.MIN_VALUE;//额外配置的开关信息;譬如某些页面是否需要网络校验、登录校验等
int priority() default -1;//该路径的优先级

网页名称:Android路由框架ARouter分析-创新互联
标题链接:http://scyanting.com/article/gcepc.html