{热修复}与{组件化},浅析Android大厂的核心技术

作者:卷王

叙述

浅不说架构师,Android高级开发是我们每个安卓程序员都应该追求的职位。那我们成为高级攻城狮应该学习那些技能;才能算高级呢?

这篇就带你了解学习,我们常会提及的组件化和热修复技术。

热修复概述

说起热修复,已经是目前Android高级开发必备技能。我所了解的一种实现方式就是类加载方案,即 dex 插桩,这种思路在插件化中也会用到。除此之外,还有底层替换方案,即修改替换 ArtMethod。采用类加载方案的主要是以腾讯系为主,包括微信的 Tinker、饿了么的 Amigo;采用底层替换方案主要是阿里系的 AndFix 等。

热修复目的:

热修复就是已经发布的APP发现有bug,需要修复(资源修复,代码修复, so库修复),又不想重新发布安包,通过让用户下载补丁文件的方式解决。无需重新发布安装包;用户无感知修复,无需下载最新的应用,节省用户流量;修复成功率高,避免线上bug带来的业务损失,把损失降到最低。

主流热修复框架:

img

组件化概述

组件就是一个功能模块,完成某种特定的功能。同时他可以向其他组件暴露出功 能,如分享库,定位库,登录库这些都是我们解耦出来的组件库,同时组件是可拆除的,就像一辆汽车我们把一个轱辘拆了照样可以运行就是跑的慢。组件是可拆除的就表示组件与组件之间是不会耦合的。 组件化就是需要去拆分出组件和实现组件之间通信的过程。

组件化优点:

  • 编译速度: 可以但需测试单一模块,极大提高了开发速度
  • 超级解耦: 极度降低了模块间的耦合,便于后期的维护和更新
  • 功能重用: 某一块的功能在另外的组件化项目中使用只需要单独依赖这一模块即可
  • 便于团队开发: 组件化架构是团队开发必然会选择的一种开发方式,它能有效的使团队更好的协作

组件化作用:

组件化架构的目的是让各个业务变得相对独立,各个组件在组件模式下可以独立开发调试,集成模式下又可以集成到“app壳工程”中,从而得到一个具有完整功能的APP。 沉淀业务资产,以面的方式协同复用,从而达到支持快速、低成本的组合式开发,快速应对业务的不稳定性、不确定性、复杂性、模糊性。

再者,从宏观角度来看,组件化改造是从"一体化组织"到"积木型组织"的变革之路。

上面我们浅析了解到,热修复与组件化的原理,以及它们的使用目的与优点。那我们如何去学习热修复与组件化这些技术呢?

由于这两门技术的学习无法全部展现在文章中,文章篇幅有限也不方便大家方便学习。特此从阿里Android开发高工整理的架构学习文档中;抽出两节分享出来(已整理成PDF格式)Android热修复与组件化学习文档。内容从原理分析+技术层解剖,最近需要进阶可以参考领取学习!

白
黑

组件化、插件化、热修复这些都是;进入大厂高级攻城狮的必备技能。如果想冲击Android高级工程师,或进入大厂拿高薪。那么我觉得你肯定得学习这些技术!架构师在于少数;在这“卷王”泛滥的年代,你不卷别人,别人就卷你。

猜你喜欢

转载自blog.csdn.net/m0_71524094/article/details/126575056