2 votes

Pourquoi la machine virtuelle Dalvik doit-elle s'exécuter dans chaque processus ?

La JVM et la DVM fournissent toutes deux un environnement virtuel. La JVM n'a pas besoin d'être dans chaque processus. Pourquoi la DVM doit-elle être présente dans chaque processus ? Merci.

7voto

Thej Points 655

Ni la DVM ni la JVM ne fonctionnent sur tous les processus. Les applications compilées en mode natif (par exemple, celles que vous voyez dans l'émulateur de terminal) ne sont associées à aucune DVM ou JVM.

Et même si l'on ne compte que les applications Android "apk", le surcoût lié à la présence de JVM/DVM dans l'espace d'adressage de (presque) tous les processus est minime puisqu'il s'agit d'une bibliothèque dynamique partagée.

4voto

Matthew Read Points 50150

Les applications Android exécutent le bytecode Dalvik, donc le DVM doit être en cours d'exécution. Tout comme l'exécution du bytecode Java sur un PC nécessite l'exécution d'une JVM.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X