什么是dex文件

什么是dex文件,第1张

dex文件是Android系统的可执行文件,包含应用程序的全部 *** 姿圆备作指令以及运行时数据。

由于dalvik是一种针对嵌入式设备而特殊设计的java虚拟机,所以dex文件与标准的class文件在结构设计上有着本质的区别。

当java程序编译成class后,还需要使用dex工具将所有的class文件整合到一个dex文件,目的是其中各个类能够共享数据,在一定程度上降低了冗余,同时也是文件结构更加经凑,dex文件是传统jar文件大小的50%左右。

dex将原来class每个文件都有的共有信息合成一体,这样减少了class的冗余。

从宏观上来迹毁说dex的文件结果很简单,实际上是由多个不同结构的数据体以首尾相接的方式拼接而成。

扩展资料:

Android的系统架构和其 *** 作系统一样,采用了分层的架构。

从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。

dex文件的作用:

dex文件的作用是记录整个工程(通常是一个Android工程)腔搏的所有类文件的信息。

dex文件的结构:

8位字节的二进制流文件;各个数据紧密排列,无间隙,减少了文件体积,加快加载速度;整个工程的类信息都存放在一个dex文件中(不考虑dex分包的情况下);同样地,可以通过010Editor来查看dex文件信息。

参考资料:百度百科-Android

dex文件是Android平台上可执行文件的类型。

对于Android DEX文件进行优化,需要注意的一点是DEX文件的结构是紧凑的,但是我们还是要虚陪想方设法的进行提高程序的运行速度,我们就仍然需要对DEX文件进行进一步优化。

调整所有字段的字节序(LITTLE_ENDIAN)和对齐结构中的每一个域 验证DEX文件中的所有类 对一些特定的类进行优化,对方法里的 *** 作码进行优化 。优化后的文件大小会颂誉坦有所增加,应该是原Android DEX文件的1-4倍。 优化发生的时机有两个:对于预置应用,可以在系统编译后,生成优化文件,以ODEX结尾。

这样在发布时除APK文件(不包含DEX)以外,还有一个相应的Android DEX文件;对于非预置应用,包含在APK文件里的DEX文件会在运行时被优化,优化后的文件将被保存在缓存中。

每一个Android应野桐用都运行在一个Dalvik虚拟机实例里,而每一个虚拟机实例都是一个独立的进程空间。虚拟机的线程机制,内存分配和管理,Mutex等等都是依赖底层 *** 作系统而实现的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12130966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存