最近我回答了this question,这里介绍了.apk
文件到android手机的整个安装过程。这是关于使用Dalvik VM
的一件事。而现在我想知道的是安装过程是完全相同的使用ART
?有什么区别? 我的意思是PackageManager,路径,皈依到dex
格式等工作 谷歌搜索没有给太多的信息,只有高性能电源,内存管理和类似的东西。 如果有知识的人可以分享这些信息,我将非常感激。ART中.apk的安装过程。与Dalvik VM安装过程的区别
回答
Android应用程序采用.apk
文件格式,Java类转换为DEX
字节码。字节码格式与设备体系结构无关,需要翻译成本机机器码才能在设备上运行。这对于ART
和Dalvik
运行时都是一样的。
从Dalvik
到ART
最显著的变化是Dalvik
基于刚刚在时间(JIT
)编译,而ART
基于名列前茅的时间(AOT
)编译。
通过Dalvik JIT编译器,每次运行应用程序时,它都会动态地将字节码的一部分转换为机器码。随着执行的进行,更多的字节码被编译和缓存。另一方面,ART配备了一个前期编译器。在应用安装阶段,它会将DEX
字节码静态转换为机器码并存储在设备的存储器中。这是在应用安装在设备上时发生的一次性事件。
性能
的ART
运行在Dalvik
运行最重要的好处是,应用程序运行在ART
更快。由于DEX
字节码在安装过程中已被转换为机器码,因此在运行期间无需额外的时间进行编译。由于相同的原因,使用ART
启动应用程序也会更快。
因为Dalvik
需要额外的内存用于JIT
代码缓存,所以当应用在ART
上运行时,它会占用较小的内存占用量。
电池寿命
随着Dalvi
ķ运行时,JIT
编译CPU
界。由于AOT
编译,ART
可以让CPU在应用执行过程中将DEX
字节码翻译为机器码,从而降低能耗。使用ART
会导致更长的电池寿命,这是需要电池充电的时间间隔。
安装时间
由于AOT
编译该应用安装过程中转化DEX
字节码成机器代码,应用程序需要更长的时间与ART
运行时在装置上安装。考虑到更快执行和更短启动时间的好处,我们在前面的章节中讨论过,在应用程序安装期间只发生一次的额外时间非常值得。
存储足迹
随着ART
运行时,AOT
编译器翻译这些应用程序的字节码DEX
成机器代码,并将其存储在设备的存储。预编译的二进制文件占用比DEX字节码更多的空间。因此与Dalvik
运行时相比,会导致更大的存储占用空间。
摘要
对于这一点,我们已经推出了针对Android新ART
运行。我们还讨论了它的好处和妥协,集中了它的前期编译和性能改进。目前发布的预览版仍在积极开发和优化之中,目前我们无法就切换到ART Runtime
时获得的性能数量提供定量结论。有一点可以肯定的是,ART将取代Dalvik
作为基于x86
设备的Android运行时。
我觉得你值得更多upvotes :) – logoff
在dvm体系结构中,每次应用程序启动将整个应用程序字节代码转换为dex并执行dex文件时。所以当每次发射同样的事情发生时,为了克服这个问题,ART会出现。在ART中,应用程序安装时只将字节转换为Dex,然后在每次启动时执行相同的dex文件,因此无需在每次启动时进行转换,因此在ART中启动应用程序所用的时间与dvm相比所需时间更短。
- 1. 安装APK程序
- 2. VS 2015社区在安装过程中安装挂起
- 3. Sliently安装的apk程序
- 4. Tomee安装过程?
- 5. utPLSQL的安装过程
- 6. TFS(高级别)安装过程
- 7. 安装apk程序错误
- 8. 安装.apk文件编程
- 9. 在安装过程中取消应用程序安装
- 10. Inno安装程序:在安装过程中更改AppVerName值
- 11. Inno安装程序:在安装过程中重新启动
- 12. 通过浏览器连接APK的安装安装
- 13. apk可以通过corona安装,不能安装在设备中
- 14. 在安装过程中损坏的包apk
- 15. apk安装双面安装
- 16. 错误安装skimage二进制的在Windows安装过程中
- 17. Android - 通过Eclipse安装签名的apk
- 18. 我在安装Joomla过程
- 19. xcode 6.1安装过程
- 20. android:控制安装过程
- 21. 设计安装过程
- 22. 通过WIX安装与多个安装程序相同的应用程序
- 23. R安装过程中的错误14.04
- 24. CultureInfo.CurrentUICulture安装过程中的差异性
- 25. E492在vim的clang_complete安装过程中
- 26. 错误的Apex 3.2.1安装过程中
- 27. 安装过程中的ActiveX CAB错误
- 28. 以编程方式安装在棉花糖上的APK安装
- 29. inno安装程序绕过Windows安装程序?
- 30. 安装工具安装命令区别
除了运行dex2oat来生成艺术文件,而不是dexopt来生成odex文件之外,艺术没有太大的区别。 – JesusFreke