細心的人可能會發(fā)現(xiàn),同樣的應用iOS要比安卓大很多,比如同一版本QQ,在谷歌市場上只顯示有34.4MB大,而在App Store上卻有231MB,差不多是七倍于前者,iOS系統(tǒng)真的就這么占空間?

為什么同樣的應用iOS要比安卓大很多 安卓app安裝后體積變大
ios app體積大的原因 圖解1
 
       咱們也不談什么陰謀論了,直接下載APP安裝后再看看,以微信和網(wǎng)易云音樂這兩個APP為例。

為什么同樣的應用iOS要比安卓大很多 安卓app安裝后體積變大
安卓上微信
 
為什么同樣的應用iOS要比安卓大很多 安卓app安裝后體積變大
 
       在安卓上,微信的安裝包大小為44MB,安裝后顯示應用占據(jù)了104MB,網(wǎng)易云音樂安裝包大小為30MB,安裝后應用大小為54MB,從中不難發(fā)現(xiàn),安卓中安裝包大小并非是真正的應用安裝所需空間,而是要比安裝包大不少,這又是為什么呢?
 
為什么同樣的應用iOS要比安卓大很多 安卓app安裝后體積變大
iOS上微信
 
為什么同樣的應用iOS要比安卓大很多 安卓app安裝后體積變大
iOS上網(wǎng)易云音樂
 
       再看看iOS上的情況,微信安裝包大小為123MB,安裝后應用大小為121MB,網(wǎng)易云音樂安裝包大小為103MB,安裝后應用大小為90MB,嗯?安裝后大小居然比安裝包還要小了。
 
       現(xiàn)在我們可以得到如下結論:
 
       1、安卓應用安裝包的大小遠遠小于安裝后應用實際占據(jù)空間大小;
       2、iOS應用安裝包大小比安裝后應用實際占據(jù)空間要大;
       3、安裝后,安卓應用的大小比iOS應用的大小還是要小一些,但基本上是一個量級的了。
 
       為什么會出現(xiàn)這樣的情況,這還得從它們的安裝機制談起。從4.4.4版本開始,安卓換用了ART虛擬機,應用安裝文件APK在安裝過程中會進行預編譯(你會覺得安裝時間比以前要慢很多),把字節(jié)碼經(jīng)過JIT編譯器轉(zhuǎn)換為機器識別碼,如此這樣一來,安裝后的大小經(jīng)過解釋編譯就會變得大了很多。
 
       但是iOS就不一樣了,它是基于OS X同源開發(fā)來的,在應用安裝上也近似,它的應用其實就是個綠色應用包,復制過來即可用,不需要再做什么處理,當然還有點變化,那就是原始的安裝包包含有全部手機系統(tǒng)的資源,但是你安裝時,它會適配當前機型,只釋放對應的資源,所以實際安裝后的容量大小比安裝包還是小了。
 
       總結:
 
       看到這里相信你就可以明白,為什么同樣的應用iOS要比安卓大很多的原因了,關鍵就是在于ios的app在裝到手機上時不需要編譯,而安卓的app是需要編譯的。
裝機