回覆列表
  • 1 # 西瓜說

    首先下載時所用的IPA和APK都是ZIP檔案,比較壓縮前的體積才有意義,iOS上46M的QQ就是因為一點沒壓縮。其次反對最上面說是因為資原始檔的問題,不是每家公司的美工都愛偷懶的。對於常見的應用,個人認為體積大的原因是是iOS上的可執行檔案比Android上的位元組碼檔案體積大太多,以常用的QQ為例。iOS上的可執行檔案在未壓縮前是44M,壓縮後是20MAndroid版QQ的執行檔案有點多這個是主檔案這3個是庫檔案四個加起來,壓縮前是20M,壓縮後共11.4M,也就是說可執行檔案的iOS版比Android版在壓縮前多了24M,壓縮後多了8M。再看看IPA檔案和APK檔案的體積:對比上面的可執行檔案體積,可以說在手機QQ中,Android版的資原始檔比iOS版多了一倍。

    針對佔用應用體積大小的大戶圖片資源,來嘗試回答下這個問題

    .1. 一個應用的影響大小因素很大一方面是來自於資源,而非程式碼,一般應用主要的是圖片資料,比如圖示,背景,圖片等.2. iOS 對於圖片資源的要求嚴格一些、

    2.1 從螢幕密度上說: 比如 iOS 上螢幕密度不同,得支援 iPhone 6 Plus (3倍),iPhone 6(2倍) iPhone 3GS(1倍)那麼你必須提供三種螢幕密度的圖片資源,即: 60x60,40x40,20x20, 如果不提供的話,至少在 iOS 7之前則會顯示檔案缺失.這方面 Android 的機制複雜但寬鬆一些:說複雜是因為 iOS 的圖片資源主要有螢幕密度作為區別(在 iOS 8中也加入了幾個螢幕大小的類別),但是 Android 呢,你可以看到: 根據Android 關於資源的官方文件 Providing Resources上面所列舉出來的 Table 2. Configuration qualifier names. 有18大項之多.不僅包含螢幕密度,長,寬,大小,比例,方向,語言,還包含其他 N 多情況. 這是複雜的一面.按理來說,Android 的應用應該比 iOS 的大才對.但是事實並不是這樣的.因為 Android 的限制寬鬆一些.就拿螢幕密度來說,iOS 的螢幕密度現在就三種,(如果不考慮老的裝置的話,就算兩種了)但是 Android 的裝置,你知道千奇百怪,很多種--不過基本也在1倍,2倍,3倍,左右.如1.5倍, 2倍, 2.2倍,2.5倍等等. 螢幕密度很多種,怎麼辦? Android 在一開始設計的時候就提供了這樣一個解決方法:即,如果1.5的裝置,對應圖片不存在,如果有2倍或以上的倍數的圖片就用相應的圖片,縮放後使用.上面文件關於螢幕密度的與資源的匹配說明如下:

    Note: Using a density qualifier does not imply that the resources are only for screens of that density. If you do not provide alternative resources with qualifiers that better match the current device configuration, the system may use whichever resources are the best match.

    這樣造成的一種情況就是:很多應用其實都是主要使用一份螢幕密度的圖片資源,比如我看微信 Android 版本,有一個版本的資源圖片主要集中在3倍上. 這樣一來,Android 應用就比 iOS 設定少了兩份螢幕密度的資源了.

    在這裡稍微總結一下:Android 的圖片資源查詢規則是查詢最匹配的一個,最終查詢到有就不會出錯.而 iOS 在 iOS 7之前呢,則就是查詢匹配的資源.對於一般的圖片,圖示來說,從96x96壓縮到72x72對外觀應該沒有什麼影響(具體我沒有測試過),所以導致 Android 中提供的資源少一些.

    2.2 上面說了螢幕密度,那螢幕大小呢? Android 的螢幕大小也是眾多的,反正我是說不清倒底有多少,但是 iOS 呢? 我估計你稍微查詢下資源,是可以窮舉過來的. 例如 iPhone 從3GS到5S 螢幕的寬度都可以表述為320點寬對設計和實現上有這麼一些影響:1. 也許你已經知道,很多設計師一般是以 iPhone 為參考大小來設計的.這個時候舉一個例子:假充我需要有一個設計上有一個背景,320x240, 這樣設計師,切出來之後,就是320x240再出一份,640x480的, iOS 開發者,放上去直接可用 - 搞定,到面透氣去了.Android 開發者,這個時候就苦逼一點了,因為 Android 的螢幕寬度比例眾多,怎麼搞?一開始 Android 開發工具提供了一個叫 Draw-9-Patch 的軟體(我就不具體描述這個軟體有多難用了,反正用過的都說坑,--- 後來這個軟體可以拖動了,1年成整合進 Android Studio,更好用了),這個軟體就是用來畫點九(.9.png)圖片,點九圖片的概念具體我就不解釋了(基主要是一個圖片四條邊,左邊和上邊可定義可擴充套件區域,右邊和下邊可以用來定義內容區域)然後花幾分鐘,或者補學者,慢一點10多分鐘,將一張圖片處理好,作為背景來說,可自動根據大小拉伸縮放.(最典型的案例其實是,如聊天用的氣泡背景圖)上面的問題造成這樣的可能:一張背景圖在 iOS 因為至少有兩份,而且是原圖大小可能要10多 K.但在 Android 這邊製作成點九格式之後一般是1K 不到.

    說明: 在設計上,(主要內容區域)純色的背景下點九處理是再好不過了,但是有些紋理的就會導致最終的效果差強人意了. 說明2: 在 iOS 中,Xcode 5也加入了製作類似點九圖的功能叫 Slicing.(之前也可以在程式碼中,設定圖片的edge 來達到點九的效果,但是一般用的情況不多- 這是由於 iOS 裝置尺寸種類有限決定的)說明3: iOS 比 Android 更容易在應用中還原設計. Android 中由於尺寸眾多,導致開發者對設計還原的妥協. 所以一般的應用大小反而更低,但是美觀上略輸(針對現在,以前是輸很多),其實從某些方面來說,這也是近年影響扁平化設計的一個因素,純色遠比紋理,陰影,高光處理來得方便.

    總結: Android 系統資源寬鬆靈活,使得 Android 應用體積較小,但是設計上不如 iOS 精緻

  • 2 # 少年不熬夜老來不頭禿

    應用中的資源包括可執行程式,媒體檔案及其他配置檔案。

    其中可執行檔案和配置檔案都是比較小的,配置檔案幾k,可執行檔案幾M。

    1,桌面圖示:

    iOS中必須要包含一套完整的桌面圖示,只支援iPhone的app需要9張桌面圖示。同時支援iPad和iPhone的App桌面圖示數量加倍。

    Android中需要6個不同畫素密度的桌面圖示。

    2,啟動圖

    這個Android 和iOS應該差別不大。

    在iOS沒有LanchScreen.Storyboard出現之前,啟動圖是要iPod裝置,4寸屏,3.5寸屏,4.7寸,5.5寸,iPad裝置各設計一套啟動圖的。還要分橫屏豎屏的情況。

    iOS需要1x 2x 3x三套。

    4,其他資源

    iOS因為稽核很嚴,不能留下載可執行檔案的後門,所有功能必須在提交稽核的時候打包進來,遊戲圖片資源除外。

    除了以上媒體資源的區別外,iOS app通常會同時適配iPad和iPhone,apple watch。

    另外iOS應用內還有寄生應用程式,比如Today 應用,共享檔案應用,自定義鍵盤。Today 應用

    共享檔案應用

  • 3 # 興趣愛好廣泛

    安卓的應用安裝後只提取程式的執行檔案,程式的圖片,資料,都還在壓縮的安裝包內,每次啟動,都要從安裝包內再解壓提取資原始檔,因此佔用空間小,畢竟都壓縮了。而蘋果的iOS每次下載完ipa安裝包。直接把執行檔案和資料,資源等一起解壓到程式目錄,而且iOS要匹配不同解析度的裝置,因此佔用空間較大。就是安卓把軟體壓縮了,節省空間,但相對較慢,蘋果都解壓了,佔用空間,但相對較快。蘋果IOS,你在appstore下載軟體後安裝完安裝包都會刪除,不會佔地方,而安卓的google play也會刪除,但大多數人用的都是中國產的軟體商店,安裝包都可以選擇是否刪除的。蘋果軟體解除安裝直接在主螢幕上長按圖示至抖動,然後按右上角的 x 即可解除安裝應用。

    最主要的是蘋果的軟體做的質量高,所以佔用的容量也會大。

  • 中秋節和大豐收的關聯?
  • 怎麼做一個好的營銷策劃?