iPhone模拟器和Android模拟器有什么区别?我听人们说过,在模拟器的情况下,它并没有真正地模拟目标设备。
我认为Android模拟器模仿了目标设备的处理速度和内存使用情况,而模拟器则不会模拟设备。
iPhone模拟器和Android模拟器有什么区别?我听人们说过,在模拟器的情况下,它并没有真正地模拟目标设备。
我认为Android模拟器模仿了目标设备的处理速度和内存使用情况,而模拟器则不会模拟设备。
声明:我只是一位iPhone开发者,不是Android开发者。
您说得对,模拟器和仿真器的区别在于模拟器模仿了实际设备上找到的软件和硬件环境。而仿真器则仅模拟软件环境,但否则可以访问主机系统的所有硬件资源,如磁盘空间、内存和处理器速度。
Apple始终强调设备测试的重要性,因为iPhone模拟器不会模拟iPhone处理器、磁盘驱动器、内存限制等等。除非您模拟器中模拟(再次)从模拟器菜单项触发的内存警告,否则几乎不会出现内存警告。
实际上,如果您前往设置 > 通用 > 关于本机,您会发现模拟器的磁盘容量与安装它的Mac文件系统相同:
虽然 Android 模拟器可以模拟 ARM 处理器和某些硬件,但它仍无法很好地匹配 CPU 性能。
作为一个模拟器,它可以很好地匹配内存消耗,可以很好地模拟某些简单设备,但在设备变得复杂时失败,例如移动 GPU 和 HW 媒体解码器。由于模拟逻辑需要将每个 ARM 指令翻译成 X86 指令并执行,因此它会占用大量性能,并且按设计不是周期精确的。
采用 Java 编程模型的设计对应用程序开发人员没有任何优势,因为模拟器上的性能并不能反映在设备上的性能(由于模拟速度和缺失的硬件设备),更常见的是调试周期慢而不方便。唯一的优点是为模拟器编译的应用程序在设备上也能正常工作(无需重新编译)。
在 iPhone 的模拟器模型中,苹果公司意识到他们无法完全匹配设备,因此他们甚至不尝试,作为回报,他们给开发人员提供了快速的周期时间和增强的工具支持,以有效地开发应用程序。