ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### 了解插件化和热修复吗,它们有什么区别,理解它们的原理吗? - 插件化:插件化是体现在功能拆分方面的,它将某个功能独立提取出来,独立开发,独立测试,再插入到主应用中。依次来较少主应用的规模。 - 热修复:热修复是体现在bug修复方面的,它实现的是不需要重新发版和重新安装,就可以去修复已知的bug。 利用PathClassLoader和DexClassLoader去加载与bug类同名的类,替换掉bug类,进而达到修复bug的目的,原理是在app打包的时候阻止类打上CLASS_ISPREVERIFIED标志,然后在 热修复的时候动态改变BaseDexClassLoader对象间接引用的dexElements,替换掉旧的类。 目前热修复框架主要分为两大类: - Sophix:修改方法指针。 - Tinker:修改dex数组元素。