文|三易生活
不久前,Android 13的首個開發(fā)者預覽版亮相,也標志著Android又一次進入到了功能大幅更新的周期。而谷歌在宣布了即將于Android系統上推出隱私沙盒技術、降低廣告追蹤用戶的力度后,近日在最新的一篇官方博文中透露,正在為Android系統開發(fā)一種工具,可以讓用戶“應用歸檔(App Archiving)”某些應用程序,以幫助釋放設備的存儲空間。
Google Play產品經理Lidia Gaymond在博客中表示,App Archiving功能旨在解決手機存儲空間不足的問題。據官方透露的信息顯示,使用App Archiving可釋放多達60%的存儲空間,但該功能并不會卸載應用、也不會刪除用戶的個人數據,而是通過刪減應用的某些功能組件、并將這些功能組件存檔,以此來達到給手機“瘦身”的目的。
并且谷歌通過創(chuàng)建一種新的APK格式,來實現這一目標,而官方則將其稱之為Archived APKs。據谷歌方面透露,相比于傳統的APK,Archived APKs要小得多,并會保存用戶的所有數據、直到用戶恢復它。該功能將在Bundletool 1.10版本中提供給開發(fā)者,但在“今年晚些時候”向用戶推出該功能前,它將不會發(fā)揮作用。
事實上從某種意義上來說, App Archiving是谷歌此前推行的Android App Bundle(簡稱ABB)格式升級版本。而ABB則是谷歌在2018年推出的開源應用安裝包格式,并且在2021年8月其就已宣布,所有提交到Google Play的新應用必須采用AAB格式、不再允許使用APK格式。
然而對于開發(fā)者來說,AAB仍有兩個問題有待解決。其一,就是ABB只有Google Play使用,所以在為其他應用商店推出APP時,就需額外花時間來將APP改為APK版本;其二,則是開發(fā)者將ABB格式的APP導出為APK時,需要向谷歌分享極為敏感的簽署密鑰,這則是許多開發(fā)者都不太愿意的。
所以有觀點認為,App Archiving的推出也意味著ABB格式的升級版,或將全面推廣到Google Play之外的所有Android應用分發(fā)渠道。
要想知道App Archiving是如何實現號稱節(jié)省60%的存儲空間,就需要了解其前身ABB格式的實現方式。據悉,ABB是谷歌推動模塊化應用開發(fā)技術的組成部分,它將一個傳統的APP拆分成三個不同部分,分別為包含了所有其他拆分APK都可以訪問的代碼和資源,并提供了應用的基本功能Base APK、適配當前手機屏幕分辨率資源的Configuration APK,以及包含應用中某項功能代碼和資源的Dynamic feature APK。
簡單來說,就是開發(fā)者可以在開發(fā)平臺Android Studio中構建一個應用束 (App Bundle),然后再通過被稱之為Dynamic Feature Module的工具,向設備交付必要資源。這一邏輯其實非常像目前相當多游戲使用的按需加載模式,只有當玩家到了某個新地圖才開始下載地圖資源一樣。同理,在APP上有的用戶可能很久都不會用到的一部分功能,就可以放在Dynamic Feature Module,一直到需要用時再進行下載。
而App Archiving的原理,則是由于開發(fā)者基本都會遵守谷歌提供的開發(fā)指南來打造APP,這就導致了相當多APP調用的庫、使用的函數,以及應用的功能都是一樣的。再加上Android APP的底層和中間層架構雖然不能說是一模一樣,但也八九不離十,那么既然大家都要使用同樣的資源,將多出來的“支持部分”卸載無疑就能夠節(jié)約大量的空間。
那么谷歌推出的這項功能到底有沒有意義呢?答案是肯定的。因為縱觀目前的智能手機,在中高端市場上除了新款iPhone SE外,其實已經很少有64GB存儲空間的機型了,并且這一規(guī)格基本也只存在于入門級產品中。而這其中的原因,既有技術進步帶來閃存成本降低,也有開發(fā)者在“安迪-比爾定律”下已經迅速將硬件性能的升級給消耗了。
想必大家應該已經發(fā)現,如今APP的體積都動輒數百MB乃至數GB了,但在十年前數十MB才是主流。為了實現更多的功能或是更絢麗的顯示效果,開發(fā)者也不吝于堆砌內容。為此消費者自然就要追逐更大的存儲空間,來滿足自己日常使用、休閑娛樂,乃至工作的需求。
在有了App Archiving后,消費者就能在不購買更大存儲容量手機的前提下,下載更多的APP。而谷歌也能讓更多入門級乃至Android Go機型的用戶,體驗到更加豐富多彩的Android生態(tài)?;蛟S唯一的受傷的就只有手機廠商了,畢竟未來1TB乃至更大容量的存儲空間可能會就此失去噱頭。