美文网首页
2018-02-22

2018-02-22

作者: eagle006 | 来源:发表于2018-02-22 13:48 被阅读0次

    读《深入理解java虚拟机》有感(主要是针对Android这块)

    Dalvik虚拟机执行的是dex字节码,ART虚拟机执行的是本地机器码

    Dalvik执行的是dex字节码,依靠JIT编译器去解释执行,运行时动态地将执行频率很高的dex字节码翻译成本地机器码,然后在执行,但是将dex字节码翻译成本地机器码是发生在应用程序的运行过程中,并且应用程序每一次重新运行的时候,都要重新做这个翻译工作,因此,及时采用了JIT,Dalvik虚拟机的总体性能还是不能与直接执行本地机器码的ART虚拟机相比。

    安卓运行时从Dalvik虚拟机替换成ART虚拟机,并不要求开发者重新将自己的应用直接编译成目标机器码,也就是说,应用程序仍然是一个包含dex字节码的apk文件。所以在安装应用的时候,dex中的字节码将被编译成本地机器码,之后每次打开应用,执行的都是本地机器码。移除了运行时的解释执行,效率更高,启动更快。(安卓在4.4中发布了ART运行时)

    ART优点:

    ①系统性能显著提升

    ②应用启动更快、运行更快、体验更流畅、触感反馈更及时

    ③续航能力提升

    ④支持更低的硬件

    ART缺点

    ①更大的存储空间占用,可能增加10%-20%

    ②更长的应用安装时间

    总的来说ART就是“空间换时间”

    相关文章

      网友评论

          本文标题:2018-02-22

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