【问题标题】:android genymotion vs emulatorandroid genymotion vs 模拟器
【发布时间】:2013-09-12 01:57:33
【问题描述】:

有没有比较这两个模拟器的基准测试结果?

我知道 Genymotion 在加载和重启模拟器时似乎更快, 但是是否有任何测试显示结果,例如相机、GPS、网络等?

【问题讨论】:

    标签: android android-emulator genymotion


    【解决方案1】:

    查看here 以了解一些非正式的基准比较。但是,请谨慎对待,因为基准分数会因主机系统而异。

    至于您想要基准测试的项目,甚至不确定相机/gps 是否可以进行基准测试(您会测试什么),并且网络非常完美,因为它使用了 VirtualBox,它一直具有强大的虚拟网络支持。

    作为一名图形/游戏开发人员,我发现 Genymotion 在运行 OpenGL 代码方面无与伦比 - 在 Genymotion 上,它运行的帧速率比使用 x86+HAXM+HW GPU android 模拟器要流畅得多。此外,Google Apps/Services 在 Genymotion 中的集成非常棒。

    兼容性是唯一的缺点,因为 Genymotion 仅提供 v4.1+ 图像,因此无法测试旧 android 版本的兼容性 - 但对于这些测试,我只使用标准的 android 模拟器(这很好,因为它不是像正常测试一样频繁)。

    更新:截至 2014 年 1 月,Genymotion 支持 Android v2.3.7 和 v4.3(v4.4 预览版)。这意味着它现在涵盖了除 Froyo (v2.2) 之外的所有相关 android 版本,目前仅占所有设备的 1-2% :)

    【讨论】:

    • 他们似乎没有任何 3.0、3.1 或 3.2 的图像
    • 不,它没有,但由于这些版本在不到 1% 的设备上,这并不是什么大问题 :)
    【解决方案2】:

    我一直在研究是否使用 Genymotion,特别关注运行自动化 Robotium 测试。

    Genymotion 启动时间约为 5 秒(相比之下,Android 模拟器至少需要 30 秒)。 Genymotion 运行 Robotium 测试的速度明显更快,并且 UI 更流畅。

    但是,请注意,Genymotion 和默认的 Android 模拟器之间存在一些显着差异:

    • 您不能在 Genymotion 中使用特殊的10.0.2.2 IP 地址来访问运行模拟器的机器上的 localhost。这意味着对于本地测试,您可能需要明确配置模拟器应连接到的机器的 IP 地址。
    • 仿真器速度的差异会暴露测试中的时序问题。最常见的一种是需要加载数据的列表视图。
    • 认为某些 Robotium Solo 实用程序在 Genymotion 和默认 Android 模拟器之间的行为可能略有不同。在 Genymotion 上,我隐约记得 searchText(String) 将我的屏幕滚动到底部的一些问题,即使我正在搜索的文本已经在视图中。但是我怀疑这只是时间问题的另一个症状,而不是任何根本不同的东西(在这种特殊情况下,您可以随时调用 searchText(String, true) 来防止滚动)。

    【讨论】:

      【解决方案3】:

      使用 Android 模拟器

      我个人都试过了,安卓模拟器更好。 您只需正确配置模拟器即可。

      我的用例主要是在这里和那里手动测试事物并运行自动化测试。我已经对它们进行了基准测试,运行测试时,android 模拟器更快。

      几乎所有传感器都存在于 android 模拟器中,您还可以获得一个很棒的命令行工具。

      更多详情,请查看my blog benchmarking this

      【讨论】:

        猜你喜欢
        • 2016-11-04
        • 2017-08-22
        • 2013-12-17
        • 1970-01-01
        • 2015-03-14
        • 2018-07-18
        • 2017-06-23
        • 2016-02-16
        • 1970-01-01
        相关资源
        最近更新 更多