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.
Tell me more
×
Android Enthusiasts Stack Exchange is a question and answer site for
enthusiasts and power users of the Android operating system. It's 100% free, no registration required.
|
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. |
|||||||||||
|
|
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. |
|||||||
|
[android]. Every question on this site is about Android, so it does not tell us anything about your question. – eldarerathis♦ Apr 1 '11 at 2:34