为什么Dalvik虚拟机需要在每个过程中运行? -- dalvik 领域 和 processes 领域 android 相关 的问题

Why does Dalvik virtual machine need to run in every process?


2
vote

问题

中文

JVM和DVM都提供虚拟环境。 JVM不需要在每个过程中。 为什么DVM需要在每个过程中? 谢谢。

英文原文

JVM and DVM both provide virtual environment. JVM doesn't need to be in every process. why DVM need to be in every process? Thanks.

     

回答列表

7
 
vote

DVM和JVM都不在每个进程上运行。本身编译的应用程序(例如,您看到的内部仿真器的应用程序)与任何DVM或JVM无关。

甚至当您只计算Android"APK" 应用程序时,在(几乎)每个进程的地址空间上具有JVM / DVM的开销是最小的,因为它们是共享动态库,因此Linux将在副本中巧妙地将它们加载一次 - 为整个操作系统编写缓冲区。

 

Neither DVM nor JVM runs on every processes. Natively compiled applications (e.g. the ones you see inside Terminal Emulator) are not associated with any DVM or JVM.

And even when you only count Android "apk" applications, the overhead of having JVM/DVM on (nearly) every process' address space is minimal since they are a shared dynamic library so Linux will smartly load them once in a copy-on-write buffer for the whole OS.

 
 
       
       
4
 
vote

Android应用程序运行Dalvik字节码,因此DVM需要运行。就像如何运行PC上的Java字节码,需要JVM运行。

 

Android applications run Dalvik bytecode, so the DVM needs to be running. Just like how running Java bytecode on a PC requires a JVM to run.

 
 
   
   

相关问题

1  为什么应用程序数量“优化”不反映删除应用程序?  ( Why does the number of apps optimized not reflect removed apps ) 
我已经阅读了以下优化的详细信息:什么样的应用程序优化在第一次重新启动时做右上方的Android版本? 和我的问题略微跟进。 我使用twrp在我的tf700t上运行cm夜生星,以闪存,并每次擦除Dalvik缓存。我理解优化过程重建Dalvik缓存,但它看起来它试图使用我安装的每一个应用程序重建缓存,而不仅仅是当前安装...

13  什么是Zygote过程仍然在Android L?  ( What is the zygote process still doing in android l ) 
我试图弄清楚Dalvik和艺术堆积的具体差异。我意识到艺术不再使用Dalvik VM,但是,安装Android L预览后我注意到的第一件事之一是Zygote进程仍在运行。如果他们真正摆脱了Dalvik VM,那就不会让Zygote过程无用?此外,在检查通过AOP发布的源代码时,大部分Dalvik仍然存在。 ...

2  从Android中删除Dalvik  ( Removing dalvik from android ) 
我没有经验,所以如果听起来有点愚蠢,请原谅我: 是否可以从Android中删除所有"用户层" 应用程序和Dalvikvm,只需获取所有库和驱动程序的普通Linux的嵌入式操作系统已配置?图形环境是否需要dalvikvm?我可以在这种情况下获得经典终端吗? 也许有人已经完成了这样的事情或者知道有关它的良好资源? ...

0  在kitkat切换Android运行时通常需要多长时间?  ( How much time it usually takes to switch android runtime in kitkat ) 
我有戴尔场地3830,我计划将其运行时间从Dalvik更改为艺术。它具有Android Kitkat 4.4.2。我有12个应用程序。 我想尝试艺术,所以我想知道切换Android运行时需要多长时间吗? ...

6  清除没有root的dalvik缓存?  ( Clearing dalvik cache without root ) 
我最近尝试更新我的摩托罗拉atrix 4g。它下载了,然后启动它以尝试更新。但是,而不是更新,它最终启动到刚刚说的屏幕 Failed to boot 2 Starting RSD mode 如果我拿出电池,我会在手机上启动大约60秒,然后再次开始关闭。 手机rooted,它似乎一旦Android开始发出ro...

27  什么是dalvik缓存?  ( What is dalvik cache ) 
安装自定义ROM时,最推荐清除DALVIK缓存。 dalvik缓存究竟是什么? ...

1  在ARM Linux上安装/运行Android Skype?  ( Install run android skype on arm linux ) 
我有一个带臂处理器的Chromebook。 我在那个Chromebook上安装了Ubuntu。 但是,由于没有用于ARM Linux的Skype-Biary,因此可以使用Android APK的Skype版本,并在我的ARM Linux上运行它? 是有一些Dalvik环境或Arm Ubuntu的转换器吗? 如果...

0  如何清除LG G2运行棒棒糖5.0.2的缓存  ( How to clear caches in lg g2 running lollipop 5 0 2 ) 
在& t lg g2的棒棒糖更新几乎摧毁了我的手机。我希望清除每种缓存都可能有所帮助。但我无法清除通常的方式,因为(1)设置应用程序在清除App Caches的部分时,设置应用程序始终崩溃,以及用于清除缓存的任何其他应用程序,以及(2)重新启动恢复不提供清除任何缓存的选项。此外,我很好奇如何清除艺术缓存,因为...

4  在将运行时更改为艺术后,Moto E并不正确  ( Moto e not starting properly after changing runtime to art ) 
我最近买了一个 moto e ,它的工作很酷。然后我已经启用了开发人员选项并将我的运行时间从 dalvik 更改为艺术。之后我重新启动了我的设备。我收到了消息 android正在升级。填写过程后,我得到了例外,如 unfortunately the process com.android.phone has st...

9  我可以改变dalvik缓存位置。有一个象征性的链接?  ( Can i change the dalvik cache location e g with a symbolic link ) 
我目前使用link2sd,因为我的手机的车载存储不足以不止一些基本应用程序。它非常有效,但仅限于手机的时候。 在更改ROM时,DALVIK缓存被擦除,当手机重新启动时,您会看到一个进度栏,称Android正在优化应用程序。所以给出了合理数量的应用程序,Dalvik缓存在Link2SD可以做任何关于它之前填满存储。 所...

1  Dalvik Speed补丁是什么?  ( What is the dalvik speed patch ) 
最近我一直听到Dalvik Speed补丁,以便通过Dalvik JVM增加应用程序的解释速度。谷歌的唯一提及是Facebook的"黑客" 的Dalvik JVM,允许Facebook应用程序安装在传统电话上。我相信这不是Dalvik速度补丁。 帖子在暂时谈论修补程序的位置: "新分数... PA 3.99 RC2...

17  如何保持Dalvik缓存的大小小?  ( How to keep the size of the dalvik cache small ) 
我有一个问题,Dalvik缓存很大,占据了我手机上的所有空间。我正在运行cyanogenmod 7.x.对于记录,我的手机上有大约5-6个小型应用程序(键盘,语音选择,Gmail等),但我在"管理应用程序" 中显示了大约187MB的使用和9.7MB的内部存储。 i简单 du -h -d 1 / 显示: 0 ...

3  为Micromax A50安装USB驱动程序  ( Installing usb driver for micromax a50 ) 
我必须为 Micromax A50 安装USB驱动程序。 我通过SDK Manager安装了Google USB驱动程序,但需要专门为此设备提供USB驱动程序。要安装此USB驱动程序我认为,我需要PC套件。从哪里可以得到这个? 我的目标是为Micromax A50安装USB驱动程序,以便在Dalvik调试监...

1  “Android正在更新”每个启动  ( Android is updating on every boot ) 
在每个启动时,我得到"Android正在更新" (优化应用程序)屏幕。 我尝试了一些方法。我删除了 /data/app 字典中的所有自定义odex文件,并删除了dalvik缓存,但它仍然在每个启动时。我怎么能摆脱它? ...

14  从adb清除缓存?  ( Clear caches from adb ) 
如何通过adb清除缓存(应用程序,单个应用程序,dalvik,艺术,艺术等)? 使用应用程序,恢复或通过设置执行它不是我的选项。此外,我的手机没有植根。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.