热更新技术探讨,该如何选型

本文探讨了热更新技术的价值和选型,包括类加载和底层替换两种主流方案,分析了它们的优缺点。同时提出小程序作为一种轻量级的热更新机制,具有无侵入性和良好的用户体验,但实施门槛较高。最后,讨论了H5与小程序的差异,强调了小程序在解决用户体验问题上的优势。
摘要由CSDN通过智能技术生成

为了照顾萌新童鞋,最开始还是对热更新的概念做一个通俗易懂的介绍。

热更新用通俗的讲就是软件不通过应用商店的软件版本更新审核,直接通过应用自行下载的软件数据更新的行为。在用户下载安装App之后,打开App时遇到的即时更新,是一种各大手游等众多App常用的更新方式。

大家熟知的王者荣耀,经常就会采用热更新的方式让用户直接在App内下载数据包得到更新,避免了用户耗费时间和流量下载应用。

热更新的技术价值

站在 App 开发者角度的“热”是指在不发版的情况来实现更新,修复 BUG 和发布功能,让开发者得以绕开应用商店的审核机制,避免长时间的审核等待以及多次被拒造成的成本。

在热更新出现之前,通过反射注解、反射调用和反射注入等方式已经可以实现类的动态加载了。热更新的实质就是替换,需要替换运行时新的类和资源文件的加载,就可以认为是热操作了。

热更新的技术选型

其实各家互联网巨头都有自己的热更新技术,目前比较有代表性的技术可以分为两类:类加载、底层替换。

1、类加载

只需要把 Bug 修复涉及到的类文件插入到数组的最前面去,就可以达到热修复的效果。

类加载方案的时效性差 ,需要重新冷启动才能见效,但修复范国广,限制少。代表的有Qzone 超级补丁、微信 Tinker

2、底层替换

底层替换是一种native方案,其操作是在Native修改Filed指针的方式,实现方法的替换,达到即时生效无需重启,对应用无性能消耗的目的。</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值