Skip to content

RouterContrast

张涛(tao281.zhang) edited this page Sep 5, 2022 · 1 revision

其他路由对比

功能 TheRouter ARouter WMRouter
Fragment路由 ✔️ ✔️ ✔️
支持依赖注入 ✔️ ✔️ ✔️
加载路由表 无运行时扫描
无反射
运行时扫描dex
反射实例类
性能损耗大
运行时读文件
反射实例类
性能损耗中
注解正则表达式 ✔️ ✖️ ✔️
Activity指定拦截器 ✔️(四大拦截器可根据业务定制) ✖️ ✔️
导出路由文档 ✔️(路由文档支持添加注释描述) ✔️ ✖️
动态注册路由信息 ✔️ ✔️ ✖️
APT支持增量编译 ✔️ ✔️(开启文档生成则无法增量编译) ✖️
plugin支持增量编译 ✔️ ✖️ ✖️
多 Path 对应同一页面(低成本实现双端path统一) ✔️ ✖️ ✖️
远端路由表下发 ✔️ ✖️ ✖️
支持单模块独立初始化 ✔️ ✖️ ✖️
支持使用路由打开第三方库页面 ✔️ ✖️ ✖️

性能

以下所有数据统一采用小拉出行同版本代码,在同一台设备上测试

统计项 TheRouter ARouter
冷启动初始化耗时(ms)
采集10次取平均值
(11+6+8+8+8+9+7+7+7+10) / 10 = 8.1 (21+36+34+44+38+45+39+39+34+25) / 10 = 35.5
首次跳转订单页耗时(ms)
采集10次取平均值
(114+110+125+96+121+102+116+115+101+98) / 10 = 109.8 (129+106+94+105+109+98+104+117+129+121)/10 = 111.2
clean后构建耗时(ms) transformClassesWithTheRouterForFlavors_prdDebug spend 646ms transformClassesWithCom.alibaba.arouterForFlavors_prdDebug spend 996ms
Clone this wiki locally