A language like Java that compiles code from a virtual machine should be translated into local machine code when it is published, so that two benefits can be achieved: 1, the user does not need to install the virtual Machine Runtime environment, 2, to maintain the efficient operation of local code. The only reason that a virtual machine still needs to work while the software is running is to ensure compatibility with different machines, which is not a good reason, and the better choice should be certainty, from the present point of view, the certainty of early code, not at runtime, but at the time of release. Similar to C + + never requires any intermediate compilation mechanism to ensure that its operation is correct, Andorid software is more reasonable to achieve this. Therefore, the virtual machine should not run when the software is running, even when the installation is not necessary, but should only be at the time of software release.
Virtual machines should work when software is released