科普:為什么iOS的APP比安卓大好幾倍?

說明 時間
首次發(fā)布 2017年04月25日
最近更新 2017年04月25日

在iOS和Android完成開發(fā)顷链,發(fā)布App之后目代,有領導就提出了iOS的包比Android大很多的問題。

安裝文件分析

我們都知道蕴潦,在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)的安裝文件里面包含了什么蹦骑。

Android:一個apk文件解壓縮后,主要有assets臀防、lib眠菇、META-INF、r袱衷、AndroidManifest.xml捎废、classes.dex、resources.arsc這幾個文件和文件夾致燥。

這里只說一下這些文件中占容量最大的一般是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í)行和資源文件。

對比兩個安裝文件饼暑,微信APP的主執(zhí)行文件為WeChat稳析,文件大小為132MB,其它文件其實只有54MB弓叛。Android的主執(zhí)行文件包括classes.dex文件和lib目錄彰居,微信APP里面這些文件大小為52.6MB,而其它文件為41.7MB撰筷。

由此可見陈惰,兩個系統(tǒng)的同樣一個APP,安裝包里面除開主要的執(zhí)行文件毕籽,其它資源文件占用空間大小相差不多抬闯,并非是文章開頭所說的不同蘋果設備需要不同的套圖,導致安裝文件巨大影钉。但僅從安裝文件來看画髓,iOS的APP確實要比Android版的大好幾倍,那下面還要講到兩個系統(tǒng)的APP安裝機制平委。


APP安裝機制

以前Android主要采用Dalvik虛擬機奈虾,執(zhí)行apk中的classes.dex文件,但后來為了提高APP啟動和運行速度廉赔,從4.4.4版本開始肉微,Android換用了ART虛擬機,apk安裝到系統(tǒng)的過程中會進行預編譯蜡塌,把apk中的dex文件編譯成oat文件碉纳,把字節(jié)碼經(jīng)過JIT即時編譯器轉(zhuǎn)換為機器識別碼,所以apk安裝包中有關程序部分的文件更像是一堆代碼馏艾,占用空間較小劳曹。

iOS則不一樣奴愉,由于iOS最早是基于mac電腦上的OS X同源開發(fā),所以在APP的安裝方式上也相似铁孵,簡單來說iOS的APP本身就是一個大文件夾锭硼,類似Windows上解壓即用的綠色軟件,當你從App Store中下載安裝到iPhone上蜕劝,更像是一個復制文件的過程檀头。

Android的安裝機制,使得APP安裝文件的大小岖沛,不代表安裝到手機上之后的大小暑始,而在iOS上則是安裝文件有多大,安裝完后基本上也是多大婴削。那么實際情況如何呢廊镜?


實測APP安裝后占用空間
Android安裝測試:

這里在基于Android 7.1.2的Lineage 14.1和iOS 10.3.2系統(tǒng)上,對比微信和網(wǎng)易云音樂兩個APP在應用商店上文件大小和安裝后文件大小馆蠕。

在應用商店上期升,微信APP的標注大小僅為44.1MB惊奇,但事實上APP安裝完成后互躬,查看大小卻增大到104MB。網(wǎng)易云音樂APP標注大小為29.8MB颂郎,安裝后為54.33MB吼渡。

iOS安裝測試:

App Store上微信APP的標注大小為123MB,下載安裝完后為121.3MB乓序,應用大小卻變小了寺酪,網(wǎng)易云音樂APP同樣更是標注103MB,安裝完成后為89.8MB替劈,這是由于測試使用的是iPhone SE寄雀,App Store上標注的大小應該是以iPhone 7 Plus作標準的。這也說明在App下載安裝過程中陨献,App Store會根據(jù)設備型號來適配必要的文件盒犹。


結論:
  • App Store上標注的APP大小是安裝之后的大小,Android應用商店大多只是顯示安裝文件的大小
  • Android安裝APP后眨业,占用空間其實和iOS版相差不大
    可以明顯看到急膀,Android在安裝APP后大小出現(xiàn)翻倍的情況,因為前面提到龄捡,現(xiàn)在Android系統(tǒng)安裝APP過程中會進行編譯卓嫂,所以裝完后APP真正的占用空間大小就出來了,這也解答為什么在Android上安裝一個才十幾MB的APP聘殖,裝完后存儲空間不見了上百MB的疑問晨雳。

Android應用商店上只是顯示APK安裝文件的大小行瑞,而在App Store上顯示的APP大小是安裝到手機后的占用空間大小。這樣的好處是餐禁,用戶們會很直觀地知道自己手機還夠不夠容量安裝新的APP蘑辑,而不會出現(xiàn)明明手機設置里面顯示還有幾十MB空余存儲,卻連個十幾MB的APP都安裝不進的困惑坠宴。

當然Android更小的安裝文件方便下載到手機上洋魂,從Android 7.1.2已經(jīng)大幅提升安裝APP速度,只是在安裝之前喜鼓,大家要注意預留2-3倍于安裝文件的存儲空間副砍。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末豁翎,一起剝皮案震驚了整個濱河市心剥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌优烧,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡颓鲜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昭娩,“玉大人呛梆,你說我怎么就攤上這事≈突牵” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我企蹭,道長徒河,這世上最難降的妖魔是什么由蘑? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任裳擎,我火速辦了婚禮羡微,結果婚禮上,老公的妹妹穿的比我還像新娘盯蝴。我一直安慰自己叉跛,他們只是感情好鸣峭,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拉岁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惰爬。 梳的紋絲不亂的頭發(fā)上喊暖,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天陵叽,我揣著相機與錄音,去河邊找鬼。 笑死殉摔,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的恩尾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼挽懦,長吁一口氣:“原來是場噩夢啊……” “哼冀偶!你這毒婦竟也來了?” 一聲冷哼從身側響起渔嚷,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤进鸠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后形病,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體客年,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年漠吻,在試婚紗的時候發(fā)現(xiàn)自己被綠了量瓜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡侥猩,死狀恐怖榔至,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情欺劳,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布铅鲤,位于F島的核電站划提,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏邢享。R本人自食惡果不足惜鹏往,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骇塘。 院中可真熱鬧伊履,春花似錦韩容、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至哄辣,卻和暖如春请梢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背力穗。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工毅弧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人当窗。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓够坐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崖面。 傳聞我的和親對象是個殘疾皇子咆霜,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容