什么是Dalvik缓存?


Answers:


27

Dalvik缓存是一组已保存的.dex文件。.dex文件基本上是为运行Android应用程序的Dalvik虚拟机构建的应用程序的编译字节码版本。它类似于Java虚拟机,并保存了.class文件。


因此,带有擦除的Dalvik缓存的新安装的ROM 第一次启动需要很长时间才能正常进行吗?因为ParanoidAndroid肯定会度过美好的时光;五分钟,计数。
badp

1
@badp是的,我的第一双靴子通常用各种ROM都这么长。不过,在假设出现问题之前,我不会花太长时间。
马修(Matthew)

4

从著名来源(在Dalvik虚拟机平台上工作的Google员工)dalvik-cachestackoverflow上找到了非常有见地的信息。

以下是它的摘要,从Android用户的角度(希望)是简单的单词。

我的Android设备中的dalvik-cache位于哪里?

在典型的Android设备中,存在一个名为的目录dalvik-cache。由于Android基于Linux,因此它使用Linux内核的文件系统结构。因此,此目录位于/data文件夹中。因此,在Android设备中访问此Dalvik缓存的路径为/data/dalvik-cache

Dalvik缓存的目的是什么?

当用户在Android上安装新应用程序时,Android会对该应用程序的dex文件(该文件包含该应用程序的所有dalvik字节码)进行一些修改和优化。然后,它将生成的odex(优化的dex)文件缓存在/data/dalvik-cache目录中,这样就不必在每次加载应用程序时都执行优化过程。

如果我清除Dalvik Cache怎么办?

在重建应用程序时,除了增加应用程序的下一次加载时间外,没有任何影响。因此,应用程序将需要更多时间来加载,因为它需要重建Dalvik Cache。因此,dalvik-cache在安装自定义ROM时可以清除,因为系统仍然会使用新分区来重建它。

另外,从Android 4.4(KitKat)开始,Google引入了称为ART的新Android Runtime ,它将最终取代Dalvik虚拟机。资源

使用相同字节码和.dex文件的ART 将dex文件编译为本地代码。该编译后的代码现在存储在其中dalvik-cache

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.