为什么安卓模拟器比Windows虚拟机慢得多?

3

我在Macbook Air上运行了一个Parallels Desktop Windows 10 Pro虚拟机,它的运行速度比大多数新的低/中端PC笔记本电脑都要快/流畅。

我还有一个Genymotion Android 6.0模拟器,以及一些不同的Android Studio(qemu)模拟器(启用了HAXM)。

让我疑惑的是,我可以在虚拟机中运行完整的个人电脑操作系统(即Windows 10 Pro),而且非常流畅,但运行一个专为便携式设备设计的低功耗、硬件受限的移动设备操作系统(即Android)的仿真却不太流畅。

仅仅打开包含一个“设置”项目的偏好菜单就需要花费一两秒钟的时间在任何一个Android模拟器上,而打开带有所有铃铛和哨子的Windows 10开始菜单则瞬间完成。

为什么会这样,这正常吗? Android Studio 告诉我所有的模拟器都启用了 HAXM(使用最新版本的HAXM的Android Studio 2.0),并且它们在快速虚拟模式下运行,所以我认为这已经是最好的表现了?


一个可能需要考虑的因素是,PC操作系统是为在你的机器上运行而设计的,而Android操作系统则不是。大多数现代计算机上的处理器都配备有“虚拟化引擎”(术语不确定)。而对于Android操作系统来说,你的处理器需要“手动”模拟移动硬件,这就是导致其成本高昂的原因。请注意,我只是猜测一半,所以可能与实际情况无关。 - Nico
1个回答

0
我的猜测是这是因为Windows是为x86架构设计的,而Android是为ARM设计的。有一个名为Android x86的项目,但我认为他们可能无法获得非常好的性能,因为他们从中分叉的Android版本是为ARM处理器制作的,并且在Android中进行的所有性能提升主要都是针对ARM处理器的。

我曾经认为x86系统镜像是为x86系统构建的? - Magnus
当然可以,但它们是基于“普通”的Android镜像构建的,而这些镜像是为ARM架构构建的,因此Google仅针对ARM处理器进行了性能调整。 - frankenapps

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接