【问题标题】:Why Android emulator/layout editor is too slow in comparison to iOS simulator/storyboard?与 iOS 模拟器/故事板相比,为什么 Android 模拟器/布局编辑器太慢?
【发布时间】:2015-05-07 04:39:36
【问题描述】:

这是一个概念问题。如果有人能澄清背后的故事,那就太好了。

我了解模拟器和模拟器之间的区别。

模拟器:模拟设备环境(硬件、网络功能等)。与设备相比,我们更有可能得到非常接近的结果。

模拟器:使用跑步机的能力。由于模拟器正在使用计算机的硬件性能,因此不太可能获得与设备接近的结果。

自 2009 年 AFIK 以来,Android 平台对开发者开放。为什么经过这么多年,与 iOS 模拟器相比,模拟器仍然(实际上)无法使用?开发人员必须使用 Genymotion 或真实设备,即使是进行小型测试。即使启用了 HAXM 或 Snapshot,Android 模拟器和 iOS 模拟器也无法进行比较。

另一个密切相关的问题是,与 iOS Storyboard 相比,为什么 Android 的布局编辑器太慢且根本不流畅。

我相信您会同意 ADT(基于 Eclipse)布局编辑器根本无法使用。 Android Studio 做得更好,但在任何方面都达不到标准。当我与 Preview 窗口并排编辑 XML 时,它经常卡在我的 MacBook Pro 2012 型号上。

我知道几个月前 Android 工作室刚刚正式发布,但我们只讨论 Android 特定功能。它不是从头开始的新 IDE,它具有成功产品 IntelliJIDEA 的所有功能的优势。

如果不手动编辑 XML,Android 开发人员是不可能逃脱的,而 iOS 开发人员可以,这就是 iOS 生态系统的运作方式。现在 iOS 平台也必须处理多种尺寸的屏幕。因此,我猜它不像 Android 平台正在做一些完全不同的事情。

请原谅我糟糕的英语技能和初级知识。只是想知道正当的理由/澄清,绝不意味着听起来苛刻或降低 Android 生态系统。

(P.S:我主要是一名Android应用开发者,最近开始学习iOS。)

提前致谢。

【问题讨论】:

    标签: android ios android-studio android-emulator ios-simulator


    【解决方案1】:

    iOS 8 模拟器是为运行 OS X 内核的英特尔构建的大部分 iOS 8。涉及到少数其他系统守护进程(fseventsd、coreaudiod、configd 和 powerd),我们使用主机 libsyscall、libpthreads 和 libplatfom 库与 xnu 通信(带有一个小的插入层),但大多数情况下,您正在本机运行整个操作系统。启动设备需要一些时间(包括启动 launchd 并让它像在 OS X 或 iOS 设备上一样初始化系统),之后,您基本上已经获得了在本机上运行的 iOS 的精简副本你的系统。没有模拟器,没有指令翻译,没有字节码解释器,没有额外的抽象或翻译。从系统的角度来看,模拟器进程与任何其他 OS X 进程一样,只是它们链接到一组不同的库并具有不同的引导服务器。

    【讨论】:

      【解决方案2】:

      Android Studio 布局编辑器也很慢,我认为它的设计问题,编辑器正在做很多检查,还有一些未修复的错误可能与 OSX 有关。甚至 OSX 上的 App Code 与 android studio 相比真的很快将寻找余生的优化......嗯,这是当有人想通过盲目地创造另一个问题来解决一个问题......而模拟器这是另一个基于基本Android优势和劣势的故事,我的意思是android是基于开源库上的java,并且还必须在多个平台上可用,并且根本不关心这个问题......可以解决其中一些问题模拟器可以像java应用程序一样制作如果有意愿开发它,但我认为没有人会这样做,Genymotion 的速度已经不错,但无法与 IOS 模拟器相比,x86 图像运行速度也更快,但根据我的测试,应用程序的部署仍然需要很长时间○ SX 在 android studio... 我使用 Genymotion 和 Android Studio 以及所有可用的性能调谐器,但性能有问题,如果你尝试启用 multidex 支持:)你可能会像我一样结束我不得不删除一些库并复制代码从他们那里能够在没有 multidex 的情况下构建......

      【讨论】:

        【解决方案3】:

        iOS:具有内置 iOS SDK 和模拟器的 X-code。它是带有 x 代码的内置函数。所以它的工作速度非常快。

        Android : 在 Eclipse 中,我们正在安装单独的 ADT、SDK 和 Emulator,所有这些都用于 Android 安装。它在系统中占用单独的内存。

        Android 5.0.1 SDK 在您的系统中占用 12GB 安装内存。因此,如果您在布局中工作,则从 SDK 加载布局需要时间。每次 Eclipse 都会加载以从 SDK 获取 Android 工作工具。

        所以只有 Android 需要加载太多,iOS 运行得非常快。

        【讨论】:

          猜你喜欢
          • 2015-02-22
          • 1970-01-01
          • 2011-03-16
          • 2012-11-30
          • 1970-01-01
          • 1970-01-01
          • 2012-08-22
          • 1970-01-01
          • 2012-07-06
          相关资源
          最近更新 更多