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

概念

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

热修复框架分类

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

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

2.腾讯系

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

3.其他

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

方案对比

方案对比 Sophix Tinker Nuwa AndFix Robust Amigo
类替换 yes yes yes no no yes
So替换 yes yes no no no yes
资源替换 yes yes yes no no yes
全平台支持 yes yes yes no yes yes
即时生效 同时支持 no no yes yes no
性能损耗 较小 较小 较大 较小 较小 较小
补丁包大小 较小 较大 一般 一般 较大
开发透明 yes yes yes no no yes
修复成功率 较高 较高 一般 最高 较高
开源 no yes yes yes yes yes
Rom体积 较小 Dalivk较大 较小 较小 较小

插件化框架分类

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

插件化框架对比

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

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

更多相关文章

  1. 利用BLCR加速android的启动(zygote加入checkpoint支持)
  2. Android(安卓)插件框架 xCombine 开发思路简介
  3. Android(安卓)插件化和热修复知识梳理
  4. 【Android】课程表布局实现(支持动态添加课程)
  5. 跟Google学习Android开发-起始篇-支持不同的设备(3)
  6. [置顶] android 程序开发的插件化 模块化方法 之二
  7. android实现MP3音频录制(lame,支持暂停)
  8. Android(安卓)笔记 :Android(安卓)热修复 Tinker接入及源码浅析
  9. Android:使用webview上传文件(支持相册和拍照) .

随机推荐

  1. 类似搜索的布局
  2. android 录像和拍照功能
  3. Android的数据库--sqlite(一)
  4. Android(安卓)ListView 几个重要属性
  5. android:Kotlin Java Kotlin android Kot
  6. Android(安卓)项目基础之XML
  7. android 之PopupWindow的使用
  8. 2011.07.06(2)——— android apiDemos 之
  9. Unity—Android通讯
  10. [置顶] Android(安卓)百度地图 简单实现-