簡體   English   中英

Android和iOS中的應用文件大小差異

[英]App file size differences in Android and iOS

使用應用程序分發服務(Android市場和Apple App商店)我發現了一個謎。

對於Apple應用程序,應用程序的文件大小通常比Android應用程序大。 我似乎無法對這些差異找到任何解釋,而且它似乎是一個未受影響的主題。

我嘗試過各種不同的應用程序,差異似乎在幾MB到6-8 MB之間。 所以問題是,為什么蘋果應用程序的文件大小更大? 什么是額外的MB用於?

例子:

BBC:

Android:918K - https://market.android.com/details?id=bbc.mobile.news.ww

Apple:6.7 MB - http://itunes.apple.com/dk/app/bbc-news/id364147881?mt=8

由於一些垃圾郵件預防,我無法直接鏈接到其他人。

英國航空

Android:1.2 MB

Apple:7.9 MB

北方銀行

Android:2.1 MB

Apple:6.4 MB

美國銀行

Android:727K

Apple:2.1 MB

我可以繼續...如果有人可以提供兩個應用程序發行版的文件大小統計數據,確認或反駁我的理論。 - 我會很感激。

我剛剛花了大約一天時間試圖追蹤這個確切的問題。 我已經構建了一款名為BlockIT for Android的小游戲,現在我有一個適用於iOS的運行版本。 非常奇怪的是,Android版本為8.2 MB,iOS版本為14.1 MB。

現在,由於我是來源的所有者,我想跟蹤它並找出原因。 正如許多人在這里建議的那樣,它是圖形元素 - 事實並非如此。 每個包中的整個數據集(非代碼)幾乎相同。 這是有道理的,因為我在每個應用程序中使用相同的圖形。

那么,為什么代碼構建如此不同! 我的iOS代碼版本接近7 MB,Android版本不到3 MB。 代碼本身被編寫為以相同的方式運行,並且除了小部分代碼之外,每個平台上的代碼都完全相同。 我發現構建(iOS gcc)設置對你得到的輸出大小有很大的影響。 如果您只設置為目標ARM6或ARM7,那么我的代碼二進制文件的大小從7 MB下降到5 MB。 這表明在一個二進制文件中,每個目標幾乎都有完整的函數和庫副本! 此外,內置的調試符號似乎沒有完全剝離。 最后,代碼的加密也需要花費很多。 這可能是最令人費解的,因為Android以類似的方式簽署了他們的apk。 似乎iOS簽名非常奇怪。

所以,我希望有所幫助。 重申:
- 圖像/數據似乎不是問題
- iOS上的代碼構建在一個二進制文件中生成多個平台輸出==許多額外的代碼(順便說一句,我不知道為什么Apple這樣做 - 看起來很奇怪)。
- 代碼加密在iOS上的尺寸不是很大。

沒有真正的方法來解決實際問題(再次,奇怪和令人失望)。

iOS應用程序中的二進制可執行文件是加密的,因此壓縮效果非常差或根本不壓縮。 iOS應用程序中的二進制可執行文件是使用靜態鏈接的一些庫代碼編譯的,這通常使得它比解釋的Dalvik字節代碼更大,用於類似的東西。 iPhone應用程序往往包含更多高質量的圖形內容和多種屏幕分辨率的圖稿,包括相對較大的iPad顯示屏。

對於iPhone中的通用應用程序,我們需要放置三種尺寸的圖像 -

一個320x480像素
第二個為640x940像素(視網膜)
768x1024(iPad)的第三名

在開發Android應用程序時,我們需要放置三種圖像 -

高清(高)
mdpi(中)
ldpi(低)

在android中還有一件事是沒有必要的規則來放置所有三種圖像。 基本上它取決於您正在制作應用程序的目標,僅適用於我們需要放置圖像的分辨率。

在我看來,Apple開發者正在使用更多的全屏大小圖像(低def和Retina),以及比Android更多的圖像,iPhone(.XIB)的UI定義文件比Android中使用的XML文件大得多。 包裝中的壓縮(.APK)也應該有很大的壓縮! 最后可能是包含框架的差異,但在這一點上我不知道:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM