2015-05-07 99 views
1

這是一個概念性問題。如果有人能夠澄清背後的故事,那將是非常棒的。爲什麼Android模擬器/佈局編輯器與iOS模擬器/故事板相比太慢?

我明白模擬器和模擬器之間的區別。

模擬器:模仿設備環境(硬件,網絡功能等)。與設備相比,我們很可能會得到非常接近的結果。

模擬器:使用跑步計算機的能力。由於模擬器正在使用計算機的硬件性能,因此不太可能獲得接近設備的結果。

自2009年AFIK以來,Android平臺向開發者開放。爲什麼在這麼多年之後,與iOS模擬器相比,模擬器仍然(實際上)不可用?開發人員必須使用Genymotion或真正的設備,即使是小型測試。即使在啓用HAXM或Snapshot之後,Android模擬器和iOS模擬器也無法進行比較。

另一個密切相關的問題是,爲什麼Android的佈局編輯器與iOS Storyboard相比太慢並且不平滑。

我相信你會同意ADT(基於Eclipse的)佈局編輯器無法使用。 Android Studio的工作做得更好,但在任何方面都達不到標準。當我編輯並排編輯XML Preview窗口時,它經常卡在我的MacBook Pro 2012模型中。

我瞭解Android工作室剛剛在幾個月前正式發佈,但我們只談論Android的特定功能。它從頭開始不是一個新的IDE,它具有IntelliJIDEA成功產品所有功能的優點。

Android手機沒有辦法在手工編輯XML的情況下無法脫身,而iOS開發人員可以這麼做,這就是iOS生態系統的工作原理。現在iOS平臺也必須處理多種尺寸的屏幕。所以它不像Android平臺正在做一些大不相同的事情,我想。

請原諒我的英語水平和初學者的知識水平。只是想知道正當的理由/澄清,從來沒有意味着聽起來苛刻或降低Android生態系統。

(P.S:主要我是一個Android應用開發,最近纔開始學習的iOS。)

在此先感謝。

回答

-1

iOS:內置iOS SDK和模擬器的X代碼。它是x代碼的內置函數。所以它工作得非常快。

Android:在Eclipse中,我們正在安裝單獨的ADT,SDK和模擬器,以及所有的Android安裝。它在系統中佔用單獨的內存。

Android 5.0.1 SDK在您的系統中需要12GB的安裝內存。因此,如果您在佈局中工作,則需要花費時間從SDK中加載佈局。每次Eclipse將加載從SDK獲取Android工作工具。

所以只有Android需要加載太多,iOS工作速度非常快。

0

iOS 8模擬器是iOS 8的大部分,它們都是針對運行OS X內核的intel而構建的。還有一小部分其他系統守護進程(fseventsd,coreaudiod,configd和powerd),我們使用主機libsyscall,libpthreads和libplatfom庫與xnu進行通信(使用小插層),但大部分,您正在本機運行整個操作系統。啓動設備需要一些時間(其中包括啓動launchd並讓它像啓動OS X或iOS設備一樣啓動系統),然後,您基本上已經獲得了本機運行的iOS精簡版副本你的系統。沒有模擬器參與,沒有指令翻譯,沒有字節碼解釋器,沒有額外的抽象或翻譯。從系統的角度來看,模擬器進程就像任何其他OS X進程一樣,除了它們與不同的庫集鏈接並且具有不同的引導服務器之外。

0

Android Studio佈局編輯器的速度也很慢,我認爲它的設計問題,以及很多檢查編輯器正在做的事情,也有一些沒有修復與OSX相關的bug。即使在OSX上的應用程序代碼真的很快與android工作室相比,核心中的相同編輯器是什麼......還構建系統gradle非常慢,這也是設計問題...他們選擇慢技術groovy我認爲,現在構建它們將會尋找休息時間的優化...嗯,這是當有人想要通過盲目創建其他人來解決一個問題......而模擬器這是基於Android的基本優勢和弱點的另一個故事,我的意思是android基於java的開源庫,也必須在多個平臺上可用,並且也不關心這個問題在開始的時候......有可能解決一些這樣的問題,仿真器可以像java應用程序那樣做出來如果有意願開發它,但我絕對不認爲有人會這樣做,Genymotion已經速度不錯,但是與IOS模擬器無法比擬,x86映像運行速度也更快,但應用程序的部署仍然需要花費很長時間才能基於我測試的內容Ø SX在Android工作室...我使用Genymotion和Android Studio與所有性能調諧器可用,但有性能問題,如果你曾嘗試啓用multidex支持:)你可能會像我一樣結束,我必須刪除一些庫和複製代碼從他們能夠建立沒有multidex ...