為什么ios軟件體積很大?
網(wǎng)友解答: 這個(gè)問題我一定要回答!很久之前就注意到了這個(gè)現(xiàn)象,也好好琢磨了一番,當(dāng)然現(xiàn)在是知道為什么了??赡芗?xì)心的人都會(huì)發(fā)現(xiàn)這個(gè)問題,比如同一版本QQ,在谷歌市場(chǎng)上只顯示有34.4MB大
這個(gè)問題我一定要回答!很久之前就注意到了這個(gè)現(xiàn)象,也好好琢磨了一番,當(dāng)然現(xiàn)在是知道為什么了。
可能細(xì)心的人都會(huì)發(fā)現(xiàn)這個(gè)問題,比如同一版本QQ,在谷歌市場(chǎng)上只顯示有34.4MB大,而在App Store上卻有231MB,差不多是七倍于前者,iOS系統(tǒng)真的就這么占空間?
咱們也不談什么陰謀論了,直接下載APP安裝后再看看,以微信和網(wǎng)易云音樂這兩個(gè)APP為例。
Android上微信
在Android上,微信的安裝包大小為44MB,安裝后顯示應(yīng)用占據(jù)了104MB,網(wǎng)易云音樂安裝包大小為30MB,安裝后應(yīng)用大小為54MB,從中不難發(fā)現(xiàn),Android中安裝包大小并非是真正的應(yīng)用安裝所需空間,而是要比安裝包大不少,這又是為什么呢?
iOS上微信
iOS上網(wǎng)易云音樂
再看看iOS上的情況,微信安裝包大小為123MB,安裝后應(yīng)用大小為121MB,網(wǎng)易云音樂安裝包大小為103MB,安裝后應(yīng)用大小為90MB,嗯?安裝后大小居然比安裝包還要小了。
至少我們可以得到如下結(jié)論:
1、Android應(yīng)用安裝包的大小遠(yuǎn)遠(yuǎn)小于安裝后應(yīng)用實(shí)際占據(jù)空間大?。?/p>
2、iOS應(yīng)用安裝包大小比安裝后應(yīng)用實(shí)際占據(jù)空間要大;
3、安裝后,Android應(yīng)用的大小比iOS應(yīng)用的大小還是要小一些,但基本上是一個(gè)量級(jí)的了。
為什么會(huì)出現(xiàn)這樣的情況,這還得從它們的安裝機(jī)制談起。從4.4.4版本開始,Android換用了ART虛擬機(jī),應(yīng)用安裝文件APK在安裝過程中會(huì)進(jìn)行預(yù)編譯(你會(huì)覺得安裝時(shí)間比以前要慢很多),把把字節(jié)碼經(jīng)過JIT編譯器轉(zhuǎn)換為機(jī)器識(shí)別碼,如此這樣一來,安裝后的大小經(jīng)過解釋編譯就會(huì)變得大了很多。
但是iOS就不一樣了,它是基于OS X同源開發(fā)來的,在應(yīng)用安裝上也近似,它的應(yīng)用其實(shí)就是個(gè)綠色應(yīng)用包,復(fù)制過來即可用,不需要再做什么處理,當(dāng)然還有點(diǎn)變化,那就是原始的安裝包包含有全部手機(jī)系統(tǒng)的資源,但是你安裝時(shí),它會(huì)適配當(dāng)前機(jī)型,只釋放對(duì)應(yīng)的資源,所以實(shí)際安裝后的容量大小比安裝包還是小了。
現(xiàn)在能明白了嗎?所以說,題主的問題其實(shí)也是有問題的,正確描述應(yīng)該是這樣:
- iOS上軟件的體積略小于它的安裝包大??;
- Android上軟件的體積遠(yuǎn)大于它的安裝包大小;
- iOS和Android上同一軟件安裝后的體積相差不大。
網(wǎng)友解答:其實(shí),iOS 軟件的體積并不大,以 TestFlight 為例,講解一下為什么會(huì)這樣。
App Store: TestFlight 大小。設(shè)置:TestFlight 實(shí)際大小。(因?yàn)檫@是蘋果官方的軟件,差別并不大)
那為什么會(huì)這樣?這就跟Android 軟件安裝包完全相反,Android 的安裝包會(huì)將其軟件壓縮,iOS 的安裝包會(huì)將軟件放大。解壓后就會(huì)產(chǎn)生明顯的差距。