Android热修复和插件化(初识篇)

之前在学校跟着老师学长做项目的时候刚觉学了很多,但是在之前准备看到了一些新技术-热修复和插件化。在此之前一点都没有接触过该类的东西,听都没听说过,在一些博客面经中也提到过这些,就想来学一学这个技术。

概念

热修复能够修复软件漏洞的一些代码,是一种快速、低成本的修复软件产品的技术
例如某某公司刚上线了一款App就出现了bug,但是立即进行版本更新是不现实的,耗费更多人力财力物力。而热修复技术能够直接通过修改代码产生补丁包,能够更快速、更简单、低成本,并且在毫不影响用户体验的情况下达到bug修复。
插件化是一种遵循一定规范的应用程序接口编写出来的程序。
例如我们经常在某宝上购物,而且在这个软件中包含了各种各样的功能不及能购物,还能跳转到饿了么进行订餐、打开闲鱼啊等等很多,如果把所有功能都集成到App中,那么App的体积估计比王者、刺激战场还要大,更新一次下载一两个G,恐怕没人再用这个东西了。但是插件化就很好的解决了这个问题,不仅拓展了App的功能,还让App的体积比较小。

热修复框架分类

国内主流热修复技术方案
1.阿里系

名称说明
AndFix开源,实时生效
HotFix阿里百川,未开源,免费,实时生效
Sophix未开源,商业收费。实时生效/冷启动生效

2.腾讯系

名称说明
Qzone超级补丁qq控件,未开源,冷启动
QFix手Q团队,开源,冷启动修复
Tinker微信团队,开源,冷启动修复

3.其他

名称说明
Robust美团,开源,实时修复
Nuwa大众点评,开源,冷启动修复
Amigo饿了么,开源,冷启动修复

方案对比

方案对比SophixTinkerNuwaAndFixRobustAmigo
类替换yesyesyesnonoyes
So替换yesyesnononoyes
资源替换yesyesyesnonoyes
全平台支持yesyesyesnoyesyes
即时生效同时支持nonoyesyesno
性能损耗较小较小较大较小较小较小
补丁包大小较小较大一般一般较大
开发透明yesyesyesnonoyes
修复成功率较高较高一般最高较高
开源noyesyesyesyesyes
Rom体积较小Dalivk较大较小较小较小

插件化框架分类

DynamicAPK
携程,已经停止维护
VirtualAPK
滴滴
Atlas
阿里手机淘宝
RePlugin
360手机卫士

插件化框架对比

特性DynamicAPKVirtualAPKAtlasRePluign
支持四大组件支支持Activity全支持全支持全支持
组件是否需在宿主manifest中预注册
插件可以依赖宿主
支持PenndingIntent
Android特性支持大部分几乎全部几乎全部几乎全部
兼容适配一般
插件构建部署aaptGradle插件Gradle插件Gradle插件

以上就是我总结的热修复及插件化框架中的不同,接下来我们就要对其原理进行分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后厂村三环十三少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值