Android開發(fā)之跟蹤應(yīng)用更新大小

image.png

新增功能:支持APK補丁大小估算工具中的逐個文件更新

降低APK大小一直是過去一年的熱門話題。有很多原因可以解釋:無論您是建立數(shù)十億還是在昂貴且不可靠的網(wǎng)絡(luò)上覆蓋功能較弱的設(shè)備的用戶,或者您只是嘗試優(yōu)化您的應(yīng)用,每個人都可以享受較小的APK尺寸,更快的下載速度和更短的安裝時間倍。

與您的應(yīng)用大小相關(guān)的費用有所不同:

  • 您上傳到Google Play的文件大?。ㄔ糀PK大?。?/li>
  • 初始下載大小
  • 設(shè)備安裝尺寸
  • 更新下載大小

我們發(fā)布了很多指南,解釋了如何減少初始和設(shè)備上的APK大小,包括新的文檔頁面,我的I / O談話文章,它們解釋了如何優(yōu)化資源,縮小代碼并定制APK到用戶的交付'使用Multi APK等技術(shù)的設(shè)備。

這一切都很棒,但用戶通常會在每個設(shè)備上安裝一次應(yīng)用程序,然后通過Play商店下載定期更新,這就是優(yōu)化應(yīng)用更新大小同樣重要的原因。


針對應(yīng)用更新尺寸進行優(yōu)化

關(guān)于使應(yīng)用程序更新更小的最好的部分是它自動發(fā)生了很多。由于Android Studio打包APK的方式有所改進,以使后續(xù)版本盡可能相似,Play商店可以計算出較小的增量更新。此外,在Play商店中引入新算法(例如最近的逐個文件修補)有助于將應(yīng)用更新大小平均降低65%。

要記住的重要一點是不要干擾Android Studio和Play中的機制。

如果您使用最新的(至少2.2+)Android Studio / Android Gradle插件來構(gòu)建您的發(fā)布APK,并且之后不進行修改,那么您應(yīng)該很高興。

不要使用自定義ZIP編碼器設(shè)置壓縮APK,也不要使用Zopfli重新壓縮您的APK,否則您將錯過File-by-File更新帶來的巨大節(jié)省。


跟蹤APK和更新大小

既然您知道為什么以及如何做正確的事情,是否有一種簡單的方法來跟蹤您的APK大小?您可以更改應(yīng)用程序,修復(fù)錯誤并引入新功能,在此過程中添加資產(chǎn)和庫,這是正常的。如何預(yù)測下次更新對用戶的影響程度?


image.png

我們以幾種方式表達這些信息。首先,這也是用戶會看到的內(nèi)容,Play Store 在Android上的應(yīng)用程序列表頁面上顯示下載大小,這將成為已安裝應(yīng)用程序的用戶的更新大小。

APK補丁大小估算器

對于開發(fā)人員而言,在發(fā)布之前能夠看到該數(shù)字會更為理想,這就是為什么我們開源了一個名為APK patch size estimator的工具。

它是一個命令行工具,因此您可以將其集成到Continuous Integration服務(wù)器中并解析輸出以包含在報告中,或通過為其提供兩個這樣的APK來手動調(diào)用它:

python apk_patch_size_estimator.py --old-file old.apk --new-file new.apk

這是輸出的一個例子:

磁盤上的新APK大?。?8,271,850字節(jié)[17.4MB]
估計新安裝的下載大?。?   全新APK(gzip)大?。?6,339,603字節(jié)[15.6MB]
估計舊APK的更新下載大小,使用Bsdiff:
   Bsdiff補?。╣zip)大小:2,989,691字節(jié)[2.85MB]
估計舊APK的更新下載大小,
使用逐個文件:
   逐個文件修補程序(gzip)大小:1,912,751字節(jié)[1.82MB]

APK補丁大小估算器實現(xiàn)了Play商店使用的當前壓縮和增量算法,并且可以估算新安裝的初始APK下載大小(它與原始APK大小不同,因為Play商店可能會應(yīng)用額外的壓縮)和delta補丁下載大小。我們最近更新了該工具以支持新的File-by-File更新,因此您也可以對此進行估算。

為什么估計而不是確切數(shù)字?Play商店不斷發(fā)展,我們經(jīng)常測試可能為用戶保存數(shù)據(jù)的新壓縮方法。我們的目標是在完全推廣到生產(chǎn)后,使用任何新方法使APK補丁大小估算器保持最新。


順便提一下,值得一提的是,對于想要了解應(yīng)用程序的哪些部分在版本之間增長(或縮?。┑拈_發(fā)人員,還有一個交互式“比較”工具,作為Android Studio中APK Analyzer的一部分提供。

image.png

在Android Studio 3.0中,我們更新了此工具,以選擇性地顯示逐個文件的更新大小。


image
image

+qq群457848807:。獲取以上高清技術(shù)思維圖,以及相關(guān)技術(shù)的免費視頻學(xué)習(xí)資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 作者 / Dom Elliott, 產(chǎn)品經(jīng)理, Google Play 由于其開放性,Android 在其前十年取...
    谷歌開發(fā)者閱讀 1,239評論 3 17
  • 早起,一出門便遇上了藍天白云,我不禁激動的喊了出來“好藍的天?。 本眠`的藍天,藍得像一汪海水,厚厚的白云,一團團的...
    雪山飛狐兒閱讀 739評論 0 1
  • 忘不了心中的你, 忘不了第一次看到你的倩影. 忘不了心中的你, 忘不了眼神相觸的害羞. 忘不了心中的你 忘不了第一...
    筋工元素閱讀 454評論 2 9
  • “妞妞,起來剪蒜胡啦”,一大清早,天剛亮,老媽就把我從床上薅起來,很久沒起這么早的我揉揉惺忪的睡眼,臉也顧不得洗,...
    冷畫墨閱讀 194評論 0 1
  • 前兩天朋友聚會。 小C默默的坐到了我的身邊,有些無奈的湊近我的耳朵告訴我。 “我前兩天遇見他了?!?“誰?” “Z...
    鹿九一閱讀 506評論 0 3

友情鏈接更多精彩內(nèi)容