好的好的谢谢老师哦
java和kt编译为class文件后用于JVM中运行,由于手机上的内存及处理器资源相对有限,google专门开发了运行在手机上虚拟机Dalvik/ART,而Dex文件是众多class处理后的产物(经过翻译,重构,解释,去冗余、压缩等),用于在Dalvik环境下运行。Dex与Dalvik虚拟机的关系,可以理解为exe文件与windows系统的关系。
各个class中包含对应类的信息,常量池,类字段和方法等信息,dex则将这些class的数据进行重新排布,同类型的放置在一起。
dex是.class文件的集合,由很多个class文件压缩而来,去除很多class文件的冗余信息,便于移动设备执行。
dex文件和dvm或art关系 --> .exe文件和windows系统的关系
5.0及以上开始支持多dex,5.0以下还是单dex
java文件 经javac ---> .class文件 经dx.jar---> .dex文件
class文件与dex文件关系
class文件和dex文件