安卓和ios內(nèi)存差距為什么那么大
安卓和ios內(nèi)存差距為什么那么大
安卓和ios內(nèi)存為什么差距那么大,安卓和ios差距原因有哪些?下面是小編精心為你們整理的關(guān)于安卓和ios內(nèi)存差距為什么那么大的相關(guān)內(nèi)容,希望你們會喜歡!
安卓和ios內(nèi)存差距為什么那么大_2017安卓和ios差距原因
iOS的APP比Android大這么多
這問題放在過去,有個流行的說法是,由于蘋果的iPhone、iPad有好幾種不同的屏幕分辨率,所以iOS的APP里面包含了幾套圖像資源,導(dǎo)致了App占用巨大,而Android系統(tǒng)中對圖像的處理要求不高,所以不同設(shè)備用了通用的資源,APP自然就小了。
這個解釋雖然有一定的道理,但放在今時今日就不大成立了。所以下面要講講兩個系統(tǒng)的APP文件大小有什么不一樣。
安裝文件分析
我們都知道,在Android中的安裝文件類型為apk,iOS為ipa,其實簡單來講,這兩個安裝文件都是個壓縮包。
以微信APP的apk(版本為6.5.10)為例,原文件大小在Windows上(NTFS文件系統(tǒng))顯示為44.1MB,經(jīng)過WinRAR解壓縮后占用空間為93.7MB。 而微信APP的ipa(版本為6.5.11)原文件大小為145MB,解壓縮后占用186MB。
咋一看,ipa無論解壓縮都確實要比apk大上不少,那來看看兩個系統(tǒng)的安裝文件里面包含了什么。
微信apk對比ipa文件大小
一個apk文件解壓縮后,主要有assets、lib、META-INF、r、AndroidManifest.xml、classes.dex、resources.arsc這幾個文件和文件夾。
微信apk內(nèi)含文件和文件夾
當(dāng)然這里不是編程課堂,所以只講下這些文件中占容量最大的一般是assets目錄、lib目錄、res目錄和classes.dex文件。
- assets目錄存放靜態(tài)文件,app需要用到一些音效、字體、表情包等都在此。
- lib目錄為依賴庫文件,現(xiàn)在的apk大多都是包含armeabi的lib庫,如果apk兼容x86,還會有x86的依賴庫,這樣這個目錄就會更大一點了。
- r即res、resource目錄,主要存放資源文件,如圖片、影像文件。
- classes.dex文件則是Android中Dalvik虛擬機的可執(zhí)行文件,由JAVA下的class文件編譯而來。
iOS的ipa安裝包則相對簡單一些,主要文件夾為Payload,在Windows上會顯示里面有一個APP名字命名的文件夾,如微信為WeChat.app,包括了APP所有需要的執(zhí)行和資源文件。
微信ipa主要文件夾為WeChat.app
對比兩個安裝文件,微信APP的主執(zhí)行文件為WeChat,文件大小為132MB,其它文件其實只有54MB。Android的主執(zhí)行文件包括classes.dex文件和lib目錄,微信APP里面這些文件大小為52.6MB,而其它文件為41.7MB。
iOS版微信主執(zhí)行文件大小
Android版微信主執(zhí)行文件大小
由此可見,兩個系統(tǒng)的同樣一個APP,安裝包里面除開主要的執(zhí)行文件,其它資源文件占用空間大小相差不多,并非是文章開頭所說的不同蘋果設(shè)備需要不同的套圖,導(dǎo)致安裝文件巨大。
但僅從安裝文件來看,iOS的APP確實要比Android版的大好幾倍,那下面還要講到兩個系統(tǒng)的APP安裝機制。
安卓和ios內(nèi)存差距為什么那么大相關(guān)文章: