4

只是好奇。Apple 的 iPhone 模拟器做得很棒吗?

比较时,在 i7 上运行的 android Emulator 和在 i3 上运行的 iPhone 模拟器。iPhone模拟器比真正的iPhone更快。

我没有正确设置吗?

4

8 回答 8

18

这是架构决策的问题:

  • iOS 模拟器直接在您的 CPU 上运行本机代码 - 必须重新编译项目才能使 x86 架构与模拟器一起使用。模拟器本身只是模拟所有 iOS API。

  • 另一方面,Android 模拟器使用QEMU来运行 ARM(或 x86,但 ARM 更流行)CPU 虚拟机,所有软件堆栈都在其之上 - Linux 内核、Android 系统映像等。可以将其视为仿真硬件。

这是一种权衡——iOS 的方式要快得多,但更难使其 100% 与目标系统兼容。对于 Apple 来说,这可能更简单一些,因为 iOS 和 Mac OS 有很多共同点。

对于 Android 来说,模拟整个堆栈非常有意义 - 构建跨平台 SDK 更容易,用它测试一些系统级组件更容易,等等。这只是一个不同的生态系统,具有不同的目标。不要忘记,Android 模拟器可用于测试使用 Android NDK 编译的原生 ARM 库。

今天的Android模拟器性能或多或少可以接受,但在早期的Android时代它只是一场灾难。也就是说,我个人认为快速的、API 级别的 Android 原生模拟器将是 SDK 的一个很好的补充,可以更快地测试要求不高的项目。

有趣的阅​​读:http: //logic-explained.blogspot.com/2011/09/why-is-there-no-x86-native-emulator-for.html

于 2013-03-26T10:37:52.380 回答
2

iphone,iphone模拟器,苹果笔记本,xcode是苹果产品

但是 android
windows-Microsoft android -Google eclipse -eclipse 供应商

这些工具是不同的供应商,为什么 android 模拟器慢。

我只是开玩笑 :)

于 2013-03-26T10:27:35.547 回答
2

是的,这是真的,emulator(仅供参考)比模拟器慢。

苹果在 iPhone 模拟器上做得很棒吗?

没有其他开发人员可以回答这个问题,因为 iOS 不是开源的。

我没有正确设置吗?

不,你什么都对。

于 2013-03-26T10:56:37.340 回答
2

Apple Simulator 是使用系统配置创建的,这意味着它将自动占用系统的 ram、内存、缓存,您不必配置它,因此 Iphone Simulator 不能充当真实设备,但在 Android 的情况下,必须提供所有配置在创建模拟器之前的细节,Android模拟器在很大程度上将充当真实设备,但可能比iPhone模拟器慢得多。

于 2013-03-26T10:38:38.707 回答
1

这很简单:

Android 模拟真实设备,如此真实的架构和非常接​​近的行为和布局。

另一方面,苹果模拟器不是模拟器,所以你不能指望真正的行为,但它有一个紧密的布局,主要解决 IOS,因为你只需要一台设备来测试应用程序的行为。

于 2013-03-26T11:24:15.587 回答
1

首先,Android 没有 Simulator 它有一个Emulator。其次,我相信模拟器的速度取决于您的机器配置。AVD如果您已正确创建配置并为其提供足够的内存,则配置越好,它将运行得越好。

于 2013-03-26T10:32:41.910 回答
0

Android 模拟器实际上是一个模拟器,旨在模拟运行 Android 的移动设备,这意味着它模拟运行 Android OS 的硬件,使其尽可能接近 100% 相同。JVM 将 Java 字节码转换为由模拟器解码的 ARM 指令。

iOS 模拟器在更高级别上工作,模拟操作系统及其库,将 OS 调用转换为 OS X 实现,并模拟其他方向的事件,如设备旋转或内存不足的情况。当您在 iOS 模拟器上运行应用程序时,该应用程序会编译成 x86,在您的 Mac 上本机运行。与 Android 模拟器不同,您的 iOS 应用程序不会在模拟器中耗尽内存,因为它不受任何特定 iOS 设备的内存限制。

于 2013-03-26T10:40:18.300 回答
0

Android SDK 有模拟器,而 ios SDK 有模拟器。

模拟器的行为与其他事物相似,但以完全不同的方式实现。它提供了系统的基本行为,但不一定遵守被模拟系统的所有规则。它可以让您了解某些东西是如何工作的。它使用桌面资源,如处理器、内存等,

模拟器是一个行为与其他事物完全一样的系统,并遵守被模拟系统的所有规则。它实际上是另一个系统的完整复制,一直到与仿真系统的输入和输出二进制兼容,但在与原始仿真系统环境不同的环境中运行。

因此,与模拟器相比,模拟器肯定会更快。

于 2013-03-26T10:37:19.347 回答