安卓是谷歌将它从开源linux上改造而来,依旧保持开源特性。为了应用开发者更多地开发安卓程序,自然也就保留了linux上的虚拟机机制。同时,安卓的目标是手机等移动终端,这些设备的处理器五花百门,而且开源安卓也会被各种深入定制,这同样导致了安卓依然沿用了虚拟机机制来保持高兼容性。当然,这些华为研发了方舟编译器,让系统直接运行机器码,以此来消除虚拟机带来的弊端。
安卓并非虚拟机,而是一种操作系统,基于Linux的开源操作系统。在安卓系统中,应用程序运行在称为Dalvik或者ART的虚拟机上。这个虚拟机允许开发人员在不同硬件上运行编译好的应用程序。所以,说安卓是虚拟机并不准确,它只是在虚拟机上运行应用程序。
1:安卓不是虚拟机。原因解释:安卓是一个操作系统,而不是一个虚拟机。虚拟机是一种软件或硬件环境,可以在其上运行其他操作系统,安卓是基于Linux内核的操作系统,而虚拟机则是通过模拟硬件运行其他操作系统的一种方式。所以安卓不是虚拟机。
不是 Android 「需要」虚拟机 iOS 不「需要」,而是 Android 的系统机制本来一开始就是基于 Dalvik 虚拟机(现在是 ART)的。因果关系不要弄错。