9-11

作者: 汪之涛 | 来源:发表于2017-09-11 22:43 被阅读0次

    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分别管理要来的容易。

    相关文章

      网友评论

          本文标题:9-11

          本文链接:https://www.haomeiwen.com/subject/czkqsxtx.html