首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dalvik和dalvik-cache是什么?

Dalvik和dalvik-cache是什么?
EN

Stack Overflow用户
提问于 2011-09-25 03:15:37
回答 4查看 90.2K关注 0票数 82

我知道这可能是Android的一个基本问题。但是什么是Dalvik和dalvik-cache呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-25 03:37:39

Dalvik是Android使用的虚拟机。它通常被认为是Java虚拟机,尽管这并不完全正确。它使用与Java相同的对象模型,其内存模型也几乎相同。但是dalvik VM是基于寄存器的VM,而不是基于堆栈的Java VM。

因此,它使用与Java完全不同的字节码。但是,Android SDK包含将Java字节码转换为dalvik字节码的dx工具,这就是为什么您能够用Java编写Android应用程序的原因。

当你说"dalvik-cache“时,我假设你指的是在典型安卓设备上可以找到的/data/dalvik-cache目录。当您在Android上安装一个应用程序时,它会对该应用程序的dex文件(包含该应用程序的所有dalvik字节码的文件)执行一些修改和优化。然后,它将生成的odex (优化的索引)文件缓存在/data/dalvik-cache目录中,这样它就不必在每次加载应用程序时都执行优化过程。

票数 140
EN

Stack Overflow用户

发布于 2011-09-25 03:23:42

Dalvik是基于java的虚拟机,在Android上运行Android应用程序。Dalvik-cache是Dalvik VM的缓存区,它是在Dalvik VM优化您的应用程序运行时创建的。

如果您愿意,您可以在互联网上查找更多关于Dalvik VM操作码和“普通”Java VM操作码之间的区别。

票数 3
EN

Stack Overflow用户

发布于 2015-06-30 20:04:13

Dalvik缓存只不过是存储为可执行文件的应用程序代码的临时编译。由于这些代码可以从位于Dalvik Cache之外的原始应用程序代码动态编译,因此您可以清除Dalvik Cache,而不会造成任何实际的损失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7541281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档