电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ARouter技术架构介绍与最佳实践

40页
  • 卖家[上传人]:nj****e
  • 文档编号:147902938
  • 上传时间:2020-10-14
  • 文档格式:PPTX
  • 文档大小:1.37MB
  • / 40 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、,ARouter 技术架构介绍与最佳实践,技术创新,变革未来,一、为什么需要路由框架,3,二、Arouter的技术方案,三、使用ARouter的最佳实践,四、未来开发计划,目录,1. 原生的路由方案存在的问题,显式:直接的类依赖,耦合严重,隐式:规则集中式管理,协作困难,原生的路由方案,Manifest 扩展性较差,跳转过程无法控制,通过URL索引,无类依赖,分布式管理页面配置,自定义的路由组件,良好的可扩展性,AOP支持,失败无法降级,灵活的降级方式,2. 为什么要用路由组件,组件化,开发与协作,Native&H5,分发 把一个URL或者请求 按照一定的规则分配 给一个服务或者页面 来处理,这个流程就 是分发,分发是路由 框架最基本的功能,管理 将组件和页面按照一 定的规则管理起来, 在分发的时候提供搜 索、加载、修改等操 作,这部分就是管理, 也是路由框架的基础, 上层功能都是建立在 管理之上,控制 就像路由器一样,路 由的过程中,会有限 速、屏蔽等一些控制 操作,路由框架也需 要在路由的过程中, 对路由操作做一些定 制性的扩展,后期的 功能更新,是围绕这 个部分来做的,3. 路由

      2、框架的特点,A android router middleware that help app navigating to activities and custom services.,ARouter 是 Android 平台中对页面、服务提供路由功 能的中间件,提倡简单且够用。,8,优势一 直接解析URL路由& 解析参数并赋值,优势五 提供Ioc容器,优势二 支持多模块项目,优势七 灵活的降级策略,优势四 允许自定义拦截器,优势六 映射关系自动注册,优势三 支持InstantRun,一、为什么需要路由框架,9,二、技术方案,三、最佳实践,四、未来开发计划,目录,1,Compiler,API,Route Processor,IntercCepotmorpPilreorcessor,Autowire Processor,Logistics Center,Ware House,Thread,Log,Exception,Launcher,Service,Callback,Template,Class Tool,bootstrapping,Extensibility,API Intercep

      3、tor Service Route,Simple & enough,页面注册:注解&注解处理器,编译期处理被注解标注的类,不使用反射,运行期处理注解,大量运用反射,1,注解处理器扫出被标注的类文件,按照固定的命名格式生成映射文件,初始化的时候通过固定包名加载映射文件,页面注册:注解&注解处理器,按照不同种类的源文件分类,页面注册:注解&注解处理器,加载:分组管理,按需加载,模块1,模块2,模块3,模块4,root1,group1,group2,intercepto r1,provider1,intercepto r2,provider2,intercepto r3,provider3,intercepto r4,provider4,root3,group6,root2,group3,group4,group5,root4,group7,group8,group9,group10,root2,root1,root3,root4,intercepto r1,intercepto r3,intercepto r2,intercepto r4,provider1,provider2,provi

      4、der3,provider4,加载:分组管理,按需加载,拦截器,拦截 器 1,A,B,拦截器2,拦截器3,拦截器拦截 器 35,InstantRun兼容,依赖注入的实现 编译期扫出需要自动装配的字段 把自动装配的字段注册在映射文件中 跳转的时候按照预先的配置从URL中提取参数,并按照类型放入Intent中 反射拿到ActivityThread类,调用它的currentActivityThread方法,拿到当 前的ActivityThread实例 反射替换ActivityThread实例中的字段mInstrumentation 覆写Instrumentation的newActivity方法,在Activity实例化的时候,通过 反射把Intent预先存好的参数值写入到需要自动装配的字段中,依赖注入的实现 编译期扫出需要自动装配的字段 把自动装配的字段注册在映射文件中 跳转的时候按照预先的配置从URL中提取参数,并按照类型放入Intent中,目标页面在初始化的时候调用ARouter.inject(this) ARouter会查找到编译期为调用方生成的注入辅助类 实例化辅助类之后,调用其中的

      5、inject方法完成字段的赋值,依赖注入的实现,一、为什么需要路由框架,2,二、技术方案,三、最佳实践,四、未来开发计划,目录,页面跳转,从外部导航到内部页面,从外部导航到内部页面,从外部导航到内部页面,从外部导航到内部页面,处理登录逻辑: 拦截器的运用,A,D,C,B,登录页,来源页面,登陆拦截器,标识目标页面信息: 配置extra参数,标识目标页面信息: 配置extra参数,模块间通信解耦:控制反转,模块间通信解耦:控制反转,模块间通信解耦:控制反转,模块间通信解耦:控制反转,解决运行期动态修改路由的问题:,解决降级问题 :,一、为什么需要路由框架,3,二、技术方案,三、最佳实践,四、未来开发计划,目录,3,插件化的支持,现在使用的方案需要去dex文件中拿到指定包 名下的类,但是插件化之后,很多插件化方 案都会对dex进行操作,导致dex位置变动, 常规方案无法找到dex文件,不能实现映射文 件的初始化,生成映射关系文档 目前映射关系的保存比较复杂,不同类型的 映射文件很多,后续的版本中会对这部分进 行简化,并添加版本控制,解决后续多版本 的兼容性问题,Github : 欢迎大家一起贡献代码,Github : ,欢迎大家一起贡献代码,40,谢谢!,

      《ARouter技术架构介绍与最佳实践》由会员nj****e分享,可在线阅读,更多相关《ARouter技术架构介绍与最佳实践》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.