昨天ios的碩士實習小伙伴,咳咳。在疑惑這個問題,于是就各種找資料。最后只找到兩個權威的鏈接,根據這兩個權威的鏈接,整理如下:
ios的app包含所有版本。
在ios9之前,應用程序的所有版本我們都進行了下載和安裝。這意味著不管你的手機需要app的什么圖片和資源,所有屏幕尺寸的圖片和資源都會被下載。
想想那是多少:
這些版本的圖片與資源加起來不少哇。而且plus還包括64位和32位的。
另一方面,Android利用可擴展的布局,資源的布局可以擴展到任何大小,因此只需要一個副本。只有圖標文件會有很多副本,但是最后也不過5次而已(我們現在基本都是2次罷了,xhdpi和xxhdpi)。
ps:在iOS 9中,蘋果推出了App Thinning,這意味著App Store只會下載您的設備所需的資源。
iPhone(.XIB)的UI定義文件比Android中使用的XML文件大得多。
與Android相比,代碼加密在IOS中占用更大的空間。
另外也有人猜測,Android的應用程序可以運行在虛擬機中,而ios更接近于硬件,導致應用程序在編譯的時候,多出了好多和底層交接的代碼。當然這個猜測只是猜測而已,并不權威。
可能(不確定)IOS包括應用程序包中的引用庫。
在android中,您可以將圖像保存在3個獨立的文件夾中,以進行不同的配置(ldpi,hdpi,mdpi)。
可能是android在安裝過程中選擇apt文件,而不包含所有文件。
開發平臺的不同,Android很多的開發平臺都能創建出一個apk文件,在我們手機中執行的時候程序運行在虛擬機上,而ios不同的開發平臺打包的時候還要考慮到所打的包必須能夠被x-code編譯,因此打包又多了好多文件。(這個理由感覺有點扯淡了)
新聞熱點
疑難解答