Android插件化和热修复的区别和联系

本文探讨了插件化框架的发展历程,并将其与热修复技术进行了比较。两者都利用ClassLoader加载新功能类,但热修复需额外处理以替换原有bug类。插件化则侧重于增加新功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【原文地址 点击打开链接】(文章最后一部分内容

插件化框架:


此处输入图片的描述

插件化发展历史:博客一博客二

说到未来,也不得不提去年出来的ReactNative,RN比插件化更轻量级,越来越多人选择了RN,或许会代替插件化,虽然还有很多缺点,比如说没网的时候

热修复与插件化的对比

共同原理:
都使用ClassLoader来实现的加载的新的功能类,都可以使用PathClassLoader与DexClassLoader
不同的是:
  热修复因为是为了修复Bug的,所以要将新的同名类替代同名的Bug类,要抢先加载新的类而不是Bug类,所以多做两件事:在原先的app打包的时候,阻止相关类去打上CLASS_ISPREVERIFIED标志,还有在热修复时动态改变BaseDexClassLoader对象间接引用的dexElements,这样才能抢先代替Bug类,完成系统不加载旧的Bug类
  而插件化只是增肌新的功能类或者是资源文件,所以不涉及抢先加载旧的类这样的使命,就避过了阻止相关类去打上CLASS_ISPREVERIFIED标志和还有在热修复时动态改变BaseDexClassLoader对象间接引用的dexElements

  所以插件化比热修复简单,热修复是在插件化的基础上在进行替旧的Bug类



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值