自1982年以來,Adobe的創(chuàng)造力和生產(chǎn)力工具一直在為人們提供幫助。但是,數(shù)十年來,諸如Photoshop,Illustrator和Lightroom之類的Adobe應(yīng)用程序一直受到創(chuàng)意者的喜愛,但PDF的謙虛-這是Adobe在30年前發(fā)明的-可能是最大的家庭名稱。
Adobe的旗艦Android移動應(yīng)用程序Adobe Acrobat Reader是免費(fèi)的全球標(biāo)準(zhǔn),用于可靠地查看,簽名和注釋超過5億次下載的PDF文檔。這些年來,情況一直在不斷好轉(zhuǎn)。Adobe的計(jì)算機(jī)科學(xué)家Shubham Garg說:“在過去的一年中,我們?yōu)锳ndroid應(yīng)用程序增加了許多功能。但是,盡管用戶喜歡這些新功能,但他們也開始注意到應(yīng)用程序大小的增加,從而導(dǎo)致更新次數(shù)減少。舒巴姆說,這是一個問題,“特別是在發(fā)展中經(jīng)濟(jì)體中,我們認(rèn)為這兩個問題都更加突出。”
他們做了什么
Android應(yīng)用程序包使Adobe無需過多努力即可減小Acrobat的應(yīng)用程序大小。Shubham說:“遷移到應(yīng)用程序包很容易?!薄拔覀兊膽?yīng)用程序已支持最低的Android SDK版本和Gradle要求,因此我們需要對代碼進(jìn)行微不足道的更改才能支持?!彼f,一旦他們將簽名密鑰的副本安全地轉(zhuǎn)移到了Google,部署就很容易了。
除了捆綁外,Adobe還選擇將多個應(yīng)用程序功能模塊化,以進(jìn)一步減小其應(yīng)用程序大小。Shubham說:“我們已經(jīng)在應(yīng)用程序內(nèi)部使用了庫模塊,但是動態(tài)功能使我們有了不同的模塊化思考方式?!薄霸搼?yīng)用程序可以以獨(dú)立的方式交付,而無需在功能上具有編譯時依賴性,然后可以在以后安裝這些功能?!?/span>
他們模塊化的第一個功能是“Fill&Sign”。使用動態(tài)交付,他們不再需要在每個APK中包括每個屏幕密度和特定于語言的資源。而且,由于他們已經(jīng)按架構(gòu)拆分了舊的APK,因此該團(tuán)隊(duì)無需進(jìn)行任何其他工作即可使其與App Bundle兼容。
結(jié)果
應(yīng)用程序捆綁包和動態(tài)交付使Acrobat的應(yīng)用程序大小減少了15 MB,即約22%-25%。對于某些設(shè)備,節(jié)省的金額甚至更大,約為30%。推出過程非常順利:“我們沒有遇到任何性能下降,下載體驗(yàn)是無縫的,”Shubham說。他認(rèn)為這部分歸功于易于測試?!拔覀円揽績?nèi)部應(yīng)用程序共享,這為我們提供了Play商店的使用體驗(yàn),同時還允許我們上傳可調(diào)試的應(yīng)用程序而不必?fù)?dān)心版本控制?!?/span>
捆綁還節(jié)省了團(tuán)隊(duì)時間,因?yàn)樗麄儸F(xiàn)在只需要將單個工件上傳到Google Play。Shubham說:“以前,我們不得不依靠4個不同的APK,按架構(gòu)劃分?!爆F(xiàn)在,只有一個捆綁包。他們還看到安裝轉(zhuǎn)換率提高了5%-7%,而且抱怨應(yīng)用大小的用戶也越來越少。
對于動態(tài)交付,“應(yīng)用程序安裝既小又快捷”,Shubham說。在進(jìn)行模塊化之前,該團(tuán)隊(duì)曾經(jīng)在每個版本中上傳四個不同的APK。而且,由于每個APK都有不同的版本代碼,因此它們必須分別測量生命周期和分析數(shù)據(jù)-這既麻煩又容易出錯。但是對于應(yīng)用程序捆綁包,他們只需要上傳具有單個版本代碼的單個工件。Shubham說:“這幫助我們簡化了開發(fā)過程,現(xiàn)在我們可以與測試人員共享單個版本,并放心它可以在所有設(shè)備上正常工作?!?/span>
接下來呢?Shubham說:“我們希望通過條件交付功能進(jìn)行試驗(yàn),以了解減小應(yīng)用程序尺寸或動態(tài)交付某些功能的好處,以針對特定的受眾。”
開始吧
所有應(yīng)用程序和游戲開發(fā)人員都可以使用Android應(yīng)用程序捆綁包。立即開始!