Ami*_*ati 35 java android dalvik
自Android Lollipop以来,Google已经用ART代替了DVM,因为ART比DVM更快.还有其他原因吗?
Ari*_*Roy 85
ART带来了一些在Dalvik中缺乏的主要性能改进.但是每个职业选手都有一些缺点.我将尝试讨论这里的优点和缺点.
这是迄今为止ART对Dalvik的最大优势.老人Dalvik使用Just-In-Time(JIT)方法,其中编译是按需完成的.只有在需要时,所有dex文件才会转换为各自的本机表示形式.
但ART使用Ahead-Of-Time(AOT)方法,其中dex文件在被要求之前被编译.这本身就大大提高了任何Android设备的性能和电池寿命.
例如
对于Dalvik,无论何时触摸应用程序图标打开它,必要的dex文件都会转换为等效的本机代码.该应用程序仅在此编译完成后才开始工作.所以,应用程序没有响应,直到完成.
此外,每次打开一个浪费CPU周期和宝贵电池电量的应用程序时,都会重复此过程.
但是在ART的情况下,无论何时安装应用程序,所有dex文件都会一劳永逸地转换.因此安装需要一些时间,应用程序占用的空间比Dalvik更多,但性能大大提高,电池寿命得到了明智的保护.
对于Dalvik,缓存是在设备运行时构建的,并且使用应用程序,如JIT方法所示.所以启动时间非常快.
但是在ART的情况下,缓存是在第一次启动时构建的,因此在ART的情况下启动时间要多得多.有时您可能会看到"优化应用程序"对话框.
应用程序在ART上运行的空间远远超过Dalvik.就像Dalvik上的20 MB应用程序一样,在ART上需要超过35 MB.
因此,如果您使用的是低存储设备,那么这对您来说可能是一个巨大的劣势.
如上所述,ART非常快速和平稳.应用程序非常灵活且响应迅速.Dalvik和ART之间的任何比较,肯定会使ART设备获得巨大的利润.
ART是所有那些认为iOS比Android更快更流畅且电池效率更高的人的答案.
小智 7
在 Android Lolipop 中,DVM 已被 ART 取代。因为每次启动特定应用程序时,DVM 都会转换字节码。但是 ART 在应用程序安装时只转换一次。这使得 CPU 执行更容易。ARM 是一种架构。像 MIPS、x86 等。 DVM/ART 运行在 ARM 之上。两者都不能互相替代。我希望这能消除你的困惑。