Genymotion vs Android 模擬器
Android 模擬器是否改善到足以取代 Genymotion
一直以來有關於選擇 android 模擬器或者 Genymotion 的爭論,我看到很多討論最後以贊成 Genymotion 而告終。我根據我周圍最常見的情況收集了一些資料,基於此,我將連同 Genymotion 全面評估 android 模擬器。
結論劇透:配置正確時,Android 模擬器比 Genymotion 快。
使用帶 Google API 的 x86(32位)映象、3GB RAM、四核CPU。
哈,很高興我們知道了最終結果
現在,讓我們深入
免責宣告:我已經測試了我看到的一般情況,即執行測試。所有的基準測試都是在 2015 年中期的 MacBook Pro 上完成的。無論何時我提及 Genymotion 指的都是 Genymotion Desktop。他們還有其他產品,如 Genymotion on Cloud&Genymotion on Demand,但這裡沒有考慮。我不是說 Genymotion 是不合適的,但執行測試比某些 Android 模擬器慢。
關於這個問題的一點背景,然後我們將轉到具體內容上去。
過去:我有一些基準測試,繼續下去。
很久以前,Android 模擬器是唯一的選擇。但是它們太慢了,這是架構改變的原因。對於在 x86 機器上執行的 ARM 模擬器,你能期待什麼?每個指令都必須從 ARM 轉換為 x86 架構,這使得它的速度非常慢。
隨之而來的是 Android 的 x86 映象,隨著它們擺脫了 ARM 到 x86 平臺轉化,速度更快了。現在,你可以在 x86 機器上執行 x86 Android 模擬器。
問題解決了!!!
沒有!
Android 模擬器仍然比人們想要的慢。隨後出現了 Genymotion,這是一個在 virtual box 中執行的 Android 虛擬機器。與在 qemu 上執行的普通老式 android 模擬器相比,它相當穩定和快速。
我們來看看今天的情況。
我在持續整合的基礎設施上和我的開發機器上使用 Genymotion。我手頭的任務是擺脫持續整合基礎設施和開發機器上使用 Genymotion。
你問為什麼?
授權費錢。
在快速看了一下以後,這似乎是一個愚蠢的舉動,因為 Android 模擬器的速度很慢而且有 bug,它們看起來適得其反,但是當你深入的時候,你會發現 Android 模擬器是優越的。
我們的情況是對它們進行整合測試(主要是 espresso)。我們的應用程式中只有 1100 多個測試,Genymotion 需要大約 23 分鐘才能執行所有測試。
在 Genymotion 中我們面臨的另一些問題是:
有限的命令列工具()。
由於記憶體問題,它們需要定期重新啟動。這是一個手動任務,想象在配有許多機器的持續整合基礎設施上進行這些會怎樣。
進入 Android 模擬器
首先是嘗試在它給你這麼多的選擇中設定一個,這會讓你會覺得你在賽百味餐廳一樣。最大的問題是 x86 或 x86_64 以及是否有 Google API。
我用這些組合做了一些研究和基準測試,這是我們所想到的。
鼓聲……
比賽的獲勝者是帶 Google API 的 x86
但是如何勝利的?為什麼?
嗯,我會告訴你每一個問題。
x86_64 比 x86 慢
你問慢多少。
28.2% 多!!!
使用 Google API 的模擬器更加穩定,沒有它們容易崩潰。
這使我們得出結論:最好的是帶 Google API 的x86。
在我們拋棄 Genymotion 開始使用模擬器之前。有下面幾點重要的細節。
我使用的是帶 Google API 的 Nexus 5 映象。
我注意到,給模擬器較少的記憶體會造成了很多 Google API 崩潰。所以為模擬器設定了 3GB 的 RAM。
模擬器有四核。
HAXM 安裝在主機上。
基準測試的時候到了
從基準測試上你可以看到除了 Geekbench4,Android 模擬器都擊敗了 Genymotion,我感覺更像是virtual box 擊敗了 qemu。
歡呼模擬器之王
我們現在有更快的測試執行時間、更好的命令列工具。最新的 創下的新的記錄。更快的啟動時間之類。
Goolgle 一直努力讓
Android 模擬器變得更好
如果你沒有在使用 Android 模擬器。我建議你重新試下,可以節省一些錢。
我嘗試的另一個但是沒有成功的方案是在 AWS 上執行 映象。我能夠在 vSphere ESXi Hypervisor 中執行它,但不能在 AWS 或任何其他雲平臺上執行它。如果有人知道原因,請在下面評論。
PS:,在 AWS 上使用 畢竟是有可能的。
作者簡介:
嗨,我的名字是 Sumit Gupta。我是來自印度古爾岡的軟體/應用/網頁開發人員。我做這個是因為我喜歡技術,並且一直迷戀它。我已經工作了 3 年以上,但我還是有很多要學習。他們不是說如果你有知識,讓別人點亮他們的蠟燭。
當在編譯時,我閱讀很多文章,或者聽音樂。
如果你想聯絡,下面是我的社交資訊和 。
via:
作者: 譯者: 校對:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2459/viewspace-2804479/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android Studio中安裝Genymotion模擬器Android
- 最強Android模擬器genymotion的安裝與配置Android
- genymotion-安卓模擬器-IMEI修改方法安卓
- 筆記 - 本地攔截genymotion或者Android模擬器的網路請求筆記Android
- Android Studio 1.0.1 + Genymotion安卓模擬器打造高效安卓開發環境Android安卓開發環境
- 使用Genymotion模擬器或者手機執行ionic4程式
- Appium學習筆記3_Genymotion模擬器安裝APP筆記
- Android模擬器2.0初探Android
- Android 虛擬機器 Vs Java 虛擬機器Android虛擬機Java
- android模擬器無服務Android
- 定製Android模擬器skinAndroid
- android模擬器常用快捷鍵Android
- Android模擬器識別技術Android
- Android studio虛擬模擬器安裝問題Android
- 利用cache特性檢測Android模擬器Android
- Android模擬器繪製實現概述Android
- 命令啟動android studio 模擬器Android
- android p 模擬器開啟劉海模式Android模式
- Android模擬器電腦鍵盤不能用Android
- android 模擬器啟動失敗應對Android
- iOS 模擬器iOS
- Eclipse+Android開發:Android模擬器快捷鍵EclipseAndroid
- Android Studio與夜神模擬器連線Android
- HBuilder搭配逍遙Android模擬器進行開發UIAndroid
- Windows自帶Android模擬器啟動失敗WindowsAndroid
- 如何預編譯 Android 模擬器專用核心編譯Android
- Android模擬器啟動不起來的原因Android
- 介紹 Visual Studio 的 Android 模擬器Android
- Android Studio 模擬器 安卓12 安裝MagiskAndroid安卓
- Xamarin.Android模擬器提示HAX kernel module is not InstalledAndroid
- Android 模擬返回鍵功能Android
- Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)FlutterAndroidiOS
- Android除錯工具Genymotion的使用Android除錯
- 乞丐模擬器Hobo: Tough Life Mac都市生存模擬遊戲Mac遊戲
- 兩種安卓模擬器安卓
- java任務--模擬器Java
- java 模擬器 多型Java多型
- 生成iOS模擬器BuildiOSUI