所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?

所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第1张图片

缘起

随着Android行业的不断发展,热修复应运而生,而后百花齐放。国内外各大厂都相继退出来自己的热修复框架。使用的技术方案也各有特点。对应的各种方案之中也存在各自的局限性。

本文旨在通过对当下主流的热修复框架的梳理、对比,让大家更全面、深入的理解各热修复框架的原理、、本质、优劣。让你在升职跳槽的时候,更轻松的上手不同业务公司的热修复框架。

热修复优势

简单概括一下热修复技术的优势,大致分为以下三点

  • 优化用户体验,基本无感知程序异常修复的同时,节省了用户下载安装的成本
  • 快速修复线上运行时出现的bug,即避免了bug带来的业务损失,又优化了用户体验
  • 保证客户端的更新率,无须用户进行版本升级安装

国内主流热修复框架

1.阿里系
所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第2张图片
HotFix是AndFix的优化版本,Sophix是HotFix的优化版本。目前阿里系主推是Sophix。

2.腾讯系
所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第3张图片
3.其他系
所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第4张图片
目前的热修复现状,Sophix,Tinker,Robust是很多小公司的首选的三个热修复方案。

接入成本最高的是TinkerRobust(没有官方服务端),在只修复java代码的情况下,同时追求修复成功率(不考虑增加包体积),那肯定选择的是Robust

在需要资源修复和so库修复的情况下,免费的情况下考虑TinkerSophix的免费阈值,这个和App的月活和补丁包大小有关系,免费方面Sophix更有利,收费的话各有利弊,详情可以参考这篇文章,不过最新的免费、收费标准可能有变化,最终还是得去官网看看,但是可以参考它的分析思路。

三大框架优缺点对比

方案对比 Tinker Sophix Robust
类替换 支持 支持 不支持(插桩方案原理)
So替换 支持 支持 不支持
资源替换 支持 支持 不支持
全平台支持 支持 支持 支持
即时生效 不支持 支持 支持
性能损耗 较大 较小 较小
补丁包大小 较小 一般 一般
开发透明
接入复杂度 较高 较低 较高,目前没有官方服务端的支持

怎么选?

怎么选?这个只能说一切看需求。如果公司综合实力强,完全考虑自研都没问题,但需要综合考虑成本及维护。下面给出2点建议,如下:

1、项目需求

  • 只需要简单的方法级别Bug修复?
  • 需要资源及so库的修复?
  • 对平台兼容性要求及成功率要求?
  • 有需求对分发进行控制,对监控数据进行统计,补丁包进行管理?
  • 公司资源是否支持商业付费?

2、学习及使用成本

  • 集成难度
  • 代码侵入性
  • 调试维护

3、选择大厂

  • 技术性能有保障
  • 有专人维护
  • 热度高,开源社区活跃

如果考虑付费,推荐选择阿里的Sophix,Sophix是综合优化的产物,功能完善、开发简单透明、提供分发及监控管理。

如果不考虑付费,只需支持方法级别的Bug修复,不支持资源及so,推荐使用Robust。

如果考虑需要同时支持资源及so,推荐使用Tinker。

最后如果公司综合实力强,可考虑自研,灵活性及可控制最强。

怎么学?

在信息大爆炸的时代,我们想要学习、掌握某一热修复技术确实非常容易。但是同理,互联网中大量的信息使得我们在网上需要我们所需资料时难以分辨优劣、精准的获取我们所需的资料。

此时,一份完整系统的资料就显得尤为重要

《Android 热修复框架入门进阶指南》

点这里即可免费下载获取

由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版【Android 热修复框架入门进阶指南】文档领取快速入手通道:点这里百度网盘下载!诚意满满!!!

目录
所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第5张图片

部分截图

所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第6张图片
所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第7张图片

【Android 热修复框架入门进阶指南】快速入手通道:点这里百度网盘免费下载!诚意满满!!!

Android高级面试精选题、架构师进阶实战文档传送门:我的GitHub

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!

所有Android开发者都会用的热修复技术,背后到底涉及了多少你不会的知识点?_第8张图片

你可能感兴趣的:(Android进阶,Android开发,开源框架,android,热修复)