回覆列表
-
1 # 安智官方號
-
2 # 城市風雲兒
技術層面的東西我也不是很瞭解,但是有一點是可以非常直觀的感覺到的。首先就是安卓的apk的壓縮率要高於iOS的ipa,這是未安裝之前。安裝完成之後,安卓會對apk做一定處理,在保留apk檔案本身的前提下,解出應用執行所需的部分必要資料。但是iOS方面,直觀的說,ipa安裝完成後就是一個資料夾,等於是把ipa解壓縮了。這當然佔用空間比安卓的大了。所以在iOS上搞美化是一件很輕鬆的事情,直接修改檔案就行了,不需要像安卓那樣反編譯回編譯,或者root後修改圖片型別的檔案,也至少要解壓縮,然後再壓縮回去。
-
3 # 超能網
其實這個問題是個
偽問題,真實的情況是這樣的:App Store上標註的APP大小是安裝之後的大小,Android應用商店大多隻是顯示安裝檔案的大小。Android安裝APP後,佔用空間其實和iOS版相差不大。
-
4 # 三袋大菠蘿
ios很多底層是用C/C++寫的,編譯之後要變成二進位制資料。
但是因為歷史原因,ios又分32位和64位版本,每個app需要兩套二進位制資料。
安卓因為使用java,直接實現了跨平臺,只需要一套軟程式碼解釋程式基本可以在所有機器上跑,即使安卓有的程式使用了C/C++,也只是某個模組呼叫,尺寸當然小一些了,
1、過去的說法
iOS要準備iPhone、iPad兩款產品的解析度影象資源,所以APP佔用巨大,但Android對影象的處理要求不高。過去這樣理論可能成立,但是安卓已經發展到8.0版本了,現在這個命題是個偽命題。
2、科學分析
既然第一種觀點現在不成立,那麼我就科學分析下。
首先,進行安裝檔案分析
Android是apk,iOS是ipa。
兩個都是壓縮包檔案,但是兩者的壓縮率是不同的,比如安卓版微信apk檔案,在Windows系統上大小為44.1MB,解壓之後大小為93.7M,而iOS版的微信ipa檔案大小為145MB,解壓之後為186MB。所以,apk的壓縮率是要遠大於ipa的。
所以,我們可以得出結論:雖然apk未解壓時比ipa小很多,但是解壓後這個差距就縮短了。當然不可忽略的是,iOS的APP確是要比Android大很多。
然後,我們再來看看安裝機制
從Android 5.0開始,Android開始採用ART虛擬機器,apk檔案安裝到系統的過程中會進行預編譯,把apk中的dex檔案編譯成oat檔案,把位元組碼經過JIT即時編譯器轉換為機器識別碼,所以apk安裝包中有關程式部分的檔案更像是一堆程式碼,佔用空間較小。
而iOS呢?眾多周知,iOS最早是基於OS X同源開發的,所以APP的安裝方式也很相似,簡單的說,iOS的APP本身就是一個大檔案,你從APP Store下載安裝到iPhone的過程,更像是一個複製貼上的過程。
所以,Android的安裝機制導致了,無論你APP檔案描述上的大小,它永遠不代表安裝到手機上的大小。而iOS呢,安裝檔案描述多大,安裝完基本也就那麼大。
最後,事實真的如此麼?我們來親測下:
首先來看看安卓裡的新浪微博,機型為一加3T,在應用商店裡的大小為38.56M,然後安裝之後大小為87.76M。
然後再來看看iOS裡的新浪微博,機型為iPhone 6,商店顯示大小為114M,但是實際安裝居然更小了,只有101M!原因大概是APP Store裡的大小應該是以最新的iPhone 7 Plus作標準的。
這也說明,iOS在下載安裝過程中,會根據裝置型號來適配必要的檔案。
比較安裝完成後的Android的87.76M和iOS的101M相比較,相差並不是很大。 所以,Android應用商店顯示上的大小隻是APK安裝檔案的大小,不代表安裝完的大小;而在App Store上顯示的APP大小基本上是真正的大小。