谷歌計劃透過GooglePlay雲端編譯加速低端安卓手機的應用和遊戲安裝速度

#系統資訊 谷歌計劃在 Android 16 中引入雲編譯功能加快低端硬體安裝大型應用程式或遊戲的速度,原本這些編譯工作是在安卓本地完成的,需要耗費更多資源。谷歌引入新檔案格式 SDM 用於存放已經編譯好的 dex 雲資料,裝置下載後無需編譯即可使用,但這個功能會耗費更多的資料流量。檢視全文:https://ourl.co/108649
安卓系統使用 Android Runtime 來執行應用程式程式碼,而在安裝新應用程式時安卓使用名為 dex2oat 工具獲取 APK 的.dex 檔案,這個檔案包含應用程式的編譯位元組碼,dex2oat 會使用該檔案生成一個或多個應用程式工件。
通常這些工件可以幫助作業系統更快和更高效地載入大多數應用程式,使其成為安卓系統的重要組成部分,具體來說工件可以採用多種形式:vdex 檔案包含額外的元資料以加速 Runtime 的位元組碼驗證,odex 檔案包含應用程式中的預編譯程式碼,art 檔案則包含某些字串或類的 Runtime 內部資訊用於加快應用程式啟動速度。

對大多數安卓裝置來說安裝新應用和遊戲都不是難事,但如果處理器效能比較弱或者儲存速度比較慢的話,低端裝置仍然難以安裝大型應用,所以谷歌希望透過另一種方式對應用程式安裝進行最佳化,方便在低端硬體上更好地執行。
據 Android Authority 釋出的訊息,谷歌計劃在 Android 16 中增加名為雲編譯的新功能,該功能允許從 Google Play 商店下載的檔案中載入應用程式工件,而不是在裝置本地透過 dex2oat 生成應用程式工件。
透過將應用程式編譯轉移到雲端,Android 16 可以加快低端裝置上的應用程式安裝過程,尤其是對於那些需要編譯大量程式碼的應用程式來說可以加快安裝速度,谷歌的做法是從 Google Play 下載的 SDM 檔案中提取編譯好的工件。
SDM 是 Android 16 中引入的新檔案格式,其中包含雲編譯工件,代表安全的 Dex 雲資料,使用與簽署 APK 相同的金鑰進行簽名,不過這類功能暫時還在測試並未投入使用,因為谷歌還需要在 Google Play 上進行配置讓 dex2oat 可以生成這些應用程式工件。
這個功能對開發者來說可能是個好事,因為即便是大型應用程式也可以提高在低端硬體上的安裝速度,只不過這個功能可能會配置為可選,因為實際使用時這會增加資料下載量,對於資料流量價格較高的地區可能會花費更多費用。

相關文章