iPhone模拟器和Android模拟器之间的区别

时间:2010-12-28 08:05:30

标签: android iphone android-emulator ios-simulator

iPhone模拟器和Android模拟器有什么区别?我听过有人说Emulator真的模仿了目标设备,这在模拟器的情况下是不正确的。

我认为Android模拟器模仿目标设备的处理速度,内存使用情况,但模拟器不会模拟设备。

2 个答案:

答案 0 :(得分:61)

免责声明:我只是一名iPhone开发人员,而不是Android开发人员。

你是对的,模拟器和模拟器之间的区别在于模拟器模仿实际设备上的软件硬件环境。另一方面,模拟器只模仿软件环境;否则他们可以访问所有主机系统的硬件资源,如磁盘空间,内存和处理器速度。

Apple始终强调设备测试的重要性,因为iPhone模拟器不能模拟iPhone处理器,磁盘驱动器,内存限制等等。除非你模拟(再次)模拟器菜单项中的内存警告,否则你几乎不会得到内存警告,除非你的Mac正在努力管理资源。

事实上,如果你去设置>一般>关于,您将看到Simulator的磁盘容量与其安装的Mac的文件系统相同:

答案 1 :(得分:19)

虽然android模拟器模拟ARM处理器和某些硬件,但它仍然不能很好地匹配CPU性能。

作为一个模拟器,它可以很好地匹配内存消耗,它可以很好地模拟某些简单设备但是当设备变得复杂时失败,例如移动GPU和HW媒体解码器。并且仿真逻辑正在将每个ARM指令转换为X86指令并执行其性能占用并且设计不精确。

由于编程模型是Java,这种设计不会向应用程序开发人员购买任何东西,因为模拟器上的性能不能反映设备上的性能(由于仿真速度和由于缺少HW设备而导致),并且更常见的是调试周期很慢,不方便。唯一的优点是Application符合模拟器工作,因为它在设备上(无需重新编译)。

在iPhone的模拟器模型中,Apple意识到它们不会完美匹配设备,因此它们甚至不会尝试并且反过来为开发人员提供快速的周期时间和增强的工具支持以有效地开发应用程序。