开始不是说5.0以上会提前编译Dex吗?为什么后面的热修复还会生效?

来源:5-8 案例演示

Uchiha_Obito

2020-06-14 17:45

前面说ART虚拟机会在安装时提前把Dex编译成AOT文件,运行时就不会再编译dex了,那后面的热修复流程为什么还是会执行?


写回答 关注

3回答

  • allenfeng
    2020-12-15 11:18:43
    已采纳

    被提前编译的,只有安装包内根目录下的的 classes.dex、classes2.dex... 这些dex,这个过程是APK安装过程中执行的。

    我们自己生成的补丁dex,不在安装包内,是后续才被推送到手机内存中,不会被系统提前编译。

    当应用启动后,我们会手动将自己的补丁dex插入到PathClassLoader内dexElements数组的最前方,从而达到热修复生效的效果。



  • 慕运维4478716
    2020-09-12 17:38:22

    这个问题问得好 同问

  • 慕梦前来
    2020-08-17 22:35:11

    要下一个脚来执行一下,就可以了

    慕运维447...

    下个脚本执行下? 什么意思 是在回答这个问题吗

    2020-09-12 17:39:44

    共 1 条回复 >

MultiDex从基础原理到实践优化

Android进阶学习必备,带你从基础用法到实践优化一站式掌握MultiDex。

10493 学习 · 4 问题

查看课程

相似问题