美文网首页
2022-03-02

2022-03-02

作者: a_simple_coder | 来源:发表于2022-03-18 17:13 被阅读0次

    功能对比

    WMRouter ARouter DRouter
    多scheme和host的支持 ✅;可随意添加,scheme、host不需要强制配置 ❎;支持标准URL跳转。有组的概念,一个路由(url)中的path必须属于某个组 ❎;
    动态注册路由节点 ✅;@RouterUri标注 ✅;@Route标注 ✅;@Route标注
    URI正则匹配 ✅;使用@RouterRegex标注,匹配的path可以直接跳转到对应界面 ❎;组的概念存在,不支持 ✅; path如果不是正则表达式,必须以/开头
    拦截器 ✅;支持配置全局拦截器和局部拦截器,分别可配置多个,可以自定义拦截顺序 ✅;支持配置全局拦截器,可以通过priority自定义拦截顺序,值越小优先级越高 ✅;支持配置全局拦截器和局部拦截器,分别可配置多个,可以通过priority自定义拦截顺序,值越大优先级越高
    转场动画 ✅; ✅; ✅;
    降级策略 ✅;支持全局降级和局部降级 ✅;支持全局降级和局部降级 ✅;支持局部降级
    跳转监听 ✅;支持全局和单次,定义全局的OnCompleteListener实现埋点 ✅;支持全局和单次 ✅;支持全局和单次,定义全局的RouterCallback实现埋点
    跳转参数 ✅;支持基本类型和自定义类型 ✅;支持基本类型和自定义类型,通过withChar("CharKey", 'a')、withInt("IntKey", 11)、withBoolean("BooleanKey", true)、withString("StringKey", "value") ✅;支持基本类型和自定义类型,统一使用putExtra(key, value)
    参数自动注入 ❎; ✅; @Autowired 注解的属性可被自动注入 ❎;
    外部跳转控制 ✅; 需要配置入口Acitity,支持的uri需要在Manifest中配置 ✅;需要配置入口Acitity,支持的uri需要在Manifest中配置 ✅; 提供入口Activity,通过DRouter分发
    自动生成路由表 ✅;TransformAPI+ASM ✅;groovy插件 + Transform API在编译期自动生成 ✅;groovy插件 + Transform API+javassist在编译期自动生成
    路由节点的生成方式 ✅; 框架加载时加载全部路由节点到内存 ✅;按照组的划分进行懒加载 ✅; 框架加载时加载全部路由节点到内存
    路由节点扩展 ✅;扩展性高,可以通过一个Uri来不只做页面的跳转 ✅; 一般

    https://blog.csdn.net/fanguangjun123/article/details/83585231

    相关文章

      网友评论

          本文标题:2022-03-02

          本文链接:https://www.haomeiwen.com/subject/hmjerrtx.html