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 虛擬機器 Vs Java 虛擬機器Android虛擬機Java
- 使用Genymotion模擬器或者手機執行ionic4程式
- 測試前奏 之 模擬器環境之Genymotion、Emulator、夜神配置選擇
- android模擬器無服務Android
- 命令啟動android studio 模擬器Android
- Android studio虛擬模擬器安裝問題Android
- Eclipse+Android開發:Android模擬器快捷鍵EclipseAndroid
- 利用cache特性檢測Android模擬器Android
- Android模擬器繪製實現概述Android
- Android除錯工具Genymotion的使用Android除錯
- Android Studio與夜神模擬器連線Android
- android p 模擬器開啟劉海模式Android模式
- 【MAC版】Eclipse中啟動genymotion虛擬機器 顯示:Android ADB server didn't ACK 解決辦法MacEclipse虛擬機AndroidServer
- Android Studio 模擬器 安卓12 安裝MagiskAndroid安卓
- iOS 模擬器iOS
- 解決Linux無法開啟android模擬器問題LinuxAndroid
- Mac電腦:Android Studio 連線 MUMU 網易模擬器MacAndroid
- ?好訊息!Android 模擬器可以執行 ARM 應用了Android
- Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)FlutterAndroidiOS
- 一行程式碼幫你檢測Android模擬器行程Android
- android 官方模擬器的 app 無法訪問 app 網路AndroidAPP
- 平行宇宙模擬器
- Android joystick,安卓模擬搖桿Android安卓
- 解決android studio 模擬器取法啟動聲音的錯誤Android
- 『與善仁』Appium基礎 — 2、常用Android模擬器的安裝APPAndroid
- 《微軟飛行模擬 2020》,硬核模擬器也有春天微軟
- mumu模擬器 MuMuManager.exe是MuMu模擬器12新加入的工具
- 基於 android 建立 React-Native 專案與連線夜深模擬器AndroidReact
- android 模擬器 記憶體修改, 用winshark 抓包,修改資料包Android記憶體
- 乞丐模擬器Hobo: Tough Life Mac都市生存模擬遊戲Mac遊戲
- 終端模擬器:Serial for MacMac
- 模擬器上app抓包APP
- mumu模擬器設定代理
- Putty for Mac(終端模擬器)Mac
- 小偷模擬器Thief Simulator for macMac
- (連載)Android 8.0 : Android虛擬機器之JNIAndroid虛擬機
- Windows10 VS2017 C++模擬點選按鍵WindowsC++
- Android上的ART虛擬機器Android虛擬機
- Android上的Dalvik虛擬機器Android虛擬機