
热修复
文章平均质量分 92
分享Android热修复相关的技术文章
hzulwy
技术嘛!最重要的是自己理解,然后才是分享
展开
-
Android 热修复核心原理
dexopt 在Dalvik中虚拟机在加载一个dex文件时,对 dex 文件 进行 验证 和 优化的操作,其对 dex 文件的优化结果变成了 odex(Optimized dex) 文件,这个文件和 dex 文件很像,只是使用了一些优化操作码。 dex2oat ART 预先编译机制,在安装时对 dex 文件执行dexopt优化之后再将odex进行 AOT 提前编译操作,编译为OAT(实际上是ELF文件)可执行文件(机器码)。(相比做过ODEX优化,未做过优化的DEX转换成OAT要花费更长的时间) ..原创 2023-08-25 11:33:36 · 367 阅读 · 0 评论 -
Android性能优化之热修复
热修复分为两种: 阿里系:从底层C的二进制来入手的。 腾讯系:从Java类加载机制来入手的。 什么是热修复? 一般的bug修复,都是等下一个版本解决,然后发布新的apk。 热修复:可以直接在客户已经安装的app当中修复bug。 本文采用Java类加载机制来实现热修复 实现原理:Android的类加载器在加载一个类时会先从自身的DexPathList对象种的Element数组种获取(Elemen...原创 2019-12-28 21:13:26 · 182 阅读 · 0 评论 -
Android热修复2(ASM技术的运用)
我们借由上一篇文件的项目引出下面这个问题。如果MainActivity类中只引用了:Utils类。当打包dex时,MainActivity与Utils都在classes.dex中,则加载时MainActivity类会被标记为。如果使用补丁包中的Utils类取代出现bug的Utils,则会导致MainActivity与其引用的Utils不在同一个Dex,但MainActivity已经被打上标记,此时出现冲突。导致校验失败!会报错误。原创 2022-11-09 17:34:33 · 936 阅读 · 1 评论 -
Android热修复1
在我们应用上线后出现bug需要及时修复时,不用再发新的安装包,只需要发布补丁包,在客户无感知下修复调bug。原创 2022-08-01 23:17:46 · 1136 阅读 · 0 评论