失控的 App 容量大小

簡評:4 年時間,iOS 上最火的 Apps 安裝包大小增加了 1000%。講真,園長用的 iPhone SE 16G,天天都在各種刪照片,清除各種 app 緩存,根本不敢隨便更新,真的,隨便個 app 都要 2、300 M,我打個車而已,支付個寶而已。(手機 QQ 推薦 international 版)

憤怒地吐槽

今天我在 AppStore 上更新應用程序,目瞪狗呆,區區特么個 LinkedIn 更新要 275 MB?!

事實上,這張截圖中的六個應用平均大約有 230 MB,總共 1387 MB。越來越多的公司正在採用更短的發布周期(兩周左右)。大約兩年前人們還在抱怨 Facebook 需要 100 MB,但現在 Facebook 已經是 354 MB 的大小。

作為應用開發者,我們應該更加意識到儲存空間的概念。試著做減法,有些東西,真的必要麼?

說真的啊,一個偶爾給我一個 Link 請求和垃圾招聘郵件的 App 要玩付出 275 MB?也許我會在某個時候冷靜地做一個分析,但現在它必須被刪除。

iPhone 最低容量的增加

iPhone 最低存儲容量在不斷增加,2013 年的 iPhone 5S 最低容量是 16 GB,而現在 iPhone 7 最低容量 32 GB,這並不奇怪,因為本身 App 包也在變得越來越大。

事實上,在 2015 年初,蘋果把 App 大小的上限從 2GB 上調到了 4 GB。與 iPhone 的容量相比,App 大小到底增加了多少?這個結果可能會讓我們感到驚訝。

根據 Sensor Tower』s 對 App Intelligence 的分析,iPhone 上最火的 10 個應用的總大小,2013 年 5 月為 164 MB ,而 2017 年 5 月為 1.9 GB。這四年內增長了 12 倍,約 1100%。

大部分的增長來自過去一年

如下圖所示,雖然 Facebook,Uber,Gmail,Snapchat,Spotify,Messenger,Google Maps,YouTube,Instagram和Netflix 等十大應用加起來都不超過 400 MB,而蘋果在 2015 年 2 月將應用程序大小上限提高到 4 GB 之後,它們都開始增加。

在此之前,應用程序的最大限制為 2 GB,核心可執行文件的容量為100 MB(後者未變)。當然,Apps 可以佔用用戶設備上的額外存儲空間;蘋果的限制適用於從 App Store 最初下載的內容。為了便於分析,我們只查看核心應用程序大小,而不是應用程序的總存儲空間以及其他內容。

另外值得注意的是,隨著 2016 年 9 月 iOS 10 的發布,應用的大小進一步增加。

有些 App 的大小增長特別明顯

在美國十大最受歡迎的 iPhone 應用中,自 2013 年 5 月以來,我們看到的最少增長了 6 倍。如圖所示,其他應用程序,特別是 Snapchat,更是大了 51 倍。

  • Snapchat 容量四年前是 4 MB,現在是 203 MB,51 倍。

  • Facebook 4 年前大小是 32 MB,現在是 388 MB,12 倍。去年九月,一次更新就增長了 100 MB。

  • Gmail 去年 10 月份,一次更新,就從 41 MB 增長到了 197 MB,幾乎是 5 倍(380%)。

以上如 Facebook 和 Snapchat 等 App 的大小和其規模有關係,也和其頻繁的增加應用的功能有關。但很多 App 應該更關注核心,嘗試著做減法。

不出所料,遊戲大小也隨之增長

與常規 app (如 Gamil)不同,遊戲的大小會隨著複雜度,畫面質量的變化而增加。

來看看這這兩個例子,曾經前十的遊戲 Clash of Clans 從 49 MB 漲到了 116 MB,兩倍多。Candy Crush Saga 從 48 MB 漲到了 223 MB,4.6 倍。而 Injustice 2 的大小比 2013 年 5 月,前十名遊戲加起來的容量還多了 1 GB。

蘋果官方對此回應:更智能的儲存方式

蘋果早已清楚地認識到,開發人員對於 iOS 設備的存儲需求。事實上,iOS 11 將會引入新功能來幫助用戶更合理的使用儲存空間,包括建議卸載不常用的軟體(刪除核心應用但保留設置和數據,以便再次使用)。

原文:

  • App size growth

  • App sizes are out of control

日報延伸閱讀:怎樣減少 Android 應用包 60% 的大小?

歡迎關注專欄「極光日報」,每天為 Makers 導讀三篇優質英文。


推薦閱讀:

Node.js 的 LTS 版本意味著什麼?
一個軟體工程師加入一個項目管理實踐和軟體工程實踐不佳的公司或團隊是什麼體驗?
谷歌的代碼審核和自動化測試的高效,是否會讓軟體開發者的工作效率低下?
七八個函數,兩三門語言㈠
NB-IOT 終端開發板對接 NB-IOT 網路模擬器調試與測試記錄

TAG:软件开发 | 编程 | iOS应用 |