文章目录
- 一、什么是 ODEX?
- 二、解释型和编译型的区别
- 2.1 解释型语言(Interpreted Language)
- 2.2 编译型语言(Compiled Language)
- 2.3 JAVA是编译型语言还是解释型语言?
- 2.3.1 在标准JAVA环境
- 2.3.1 在Android环境
一、什么是 ODEX?
ODEX 文件(Optimized DEX),表示经过优化的dex文件,是 Android 系统中的一种文件格式,用于加速应用程序的启动。
-
Android应用程序的代码通常存储在.dex(Dalvik Executable)文件中,这是一个包含了应用程序所有编译类的二进制文件。 -
而
.odex文件是经过优化的.dex文件,目的是为了提高运行时性能。
当应用程序被安装到设备上时,Android 的 ART(Android Runtime)或 Dalvik 虚拟机会将 .dex 文件转换为 .odex 文件。这个优化过程主要包括预编译和静态链接,以便减少应用启动时的开销。
二、解释型和编译型的区别
在开发中,无论我们使用Java、C++还是其他语言,实际上我们写的代码都是给人看的。
然后我们的运行设备并没有人这么聪明,只能够看懂一些特定的简单的指令。
因此在程序真正运行之前需要先将源代码转换成这种运行设备能够识别的二进制指令,也就是机器码