9-11

Android是java编写的,同样是java的class,到底有什么不同呢,调研后发现Android除了把java文件变成class文件外,还将class文件变成了dex文件,那dex和class有什么不同,为什么还要做一次?我们写一个最简单的HelloWorld.java文件看看区别:


class

可以看见class里面将一个类变成了一个结构体,结构体内对应这不同的字段。再来看看dex文件:


dex

dex将所有数据分成了不同的结构体,可以知道dex将class全部整合,将内部逻辑上公共的部分全部提出来统一管理,这样有什么好处呢?依照我的理解:

1. 首先一点肯定是压缩了空间,毕竟mobile端的空间要小很多。

2. 统一的管理有利于内部实现。

3. 由于所有的apk处在同一级别上,不存在上下级的关系,将一个apk的公共部分统一管理起来比一个apk下多个class分别管理要来的容易。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容