Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
45 lines (36 sloc) 1.81 KB

今天又和同事讨论了一下 android 上面的一些概念:

  • 模拟器 (Emulator, emu)
  • 仿真机 (Simulator, sim)
  • 虚拟机 (Vitual Machine, VM)
  • 虚拟设备 (Vitual Device, VD)

从本质上讲, 模拟器 是要 模拟硬件的, 比如说 CPU,
几乎可以替代真机日常使用 (3G 模块除外), 但是因为是都要模拟, 所以会非常卡.
虚拟机 是 利用 虚拟化技术 (Virtualization Technology, VT, 如 'VT-x', 'AMD-V'),
并 通过 这种 虚拟化技术 传递 硬件固有的特性 (例如 PAE/NX),
来实现 另一个 独立的 系统运行环境, 这一点 和云端的 docker 很像.
虚拟机 性能 很大程度取决于 物理机 固有的 硬件性能 和 特性.
仿真器 则是 偏向于 研究目的, 功能 较 虚拟机模拟器 会少非常多.
仿真器 其实是 iOS + XCode 移动端开发 有的.
仿真器 仅用来 跑 自己开发的 程序, 并不能日常使用.
所以 在 android 的世界中, 应该是没有 仿真器 这一说法的.


android 自带的工具名字叫做 虚拟设备,
英文缩写是 AVD, 这个名字大家应该比较熟悉.
AVD 中 可以创建:

  • armeabi-v7a
  • armeabi64-v8a
  • x86
  • x86_64
  • MIPS 架构的 虚拟设备(VD).

AVD 是基于 QEMU 的, 可以在:
%Android_Home%\tools\qemu\windows-x86(_64) 或者
%Android_Home%\tools\qemu\linux-x86(_64) 看到.

习惯把 QEMU 叫做 模拟器,
但是 AVD 里面 既有 armeabi 又有 x86,
所以 就造了一个 新词 虚拟设备.


参考: