-
Notifications
You must be signed in to change notification settings - Fork 132
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 |