Google计划通过云端编译加速低端Android手机的应用和游戏安装速度

摘要:

Android系统使用 Android Runtime 来执行应用程序代码,而在安装新应用程序时Android使用名为 dex2oat 工具获取 APK 的.dex 文件,这个文件包含应用程序的编译字节码,dex2oat 会使用该文件生成一个或多个应用程序工件。

TikTok_app_install_directory_with_artifacts.jpg.webp

通常这些工件可以帮助操作系统更快和更高效地加载大多数应用程序,使其成为Android系统的重要组成部分,具体来说工件可以采用多种形式:vdex 文件包含额外的元数据以加速 Runtime 的字节码验证,odex 文件包含应用程序中的预编译代码,art 文件则包含某些字符串或类的 Runtime 内部信息用于加快应用程序启动速度。对大多数Android设备来说安装新应用和游戏都不是难事,但如果处理器性能比较弱或者存储速度比较慢的话,低端设备仍然难以安装大型应用,所以Google希望通过另一种方式对应用程序安装进行优化,方便再低端硬件上更好地运行。

据 Android Authority 发布的消息,Google计划在 Android 16 中增加名为云编译的新功能,该功能允许从 Google Play 商店下载的文件中加载应用程序工件,而不是在设备本地通过 dex2oat 生成应用程序工件。

Cloud_compilation_in_Android_16.jpg.webp

通过将应用程序编译转移到云端,Android 16 可以加快低端设备上的应用程序安装过程,尤其是对于那些需要编译大量代码的应用程序来说可以加快安装速度,Google的做法时从 Google Play 下载的 SDM 文件中提取编译好的工件。

SDM 是 Android 16 中引入的新文件格式,其中包含云编译工件,代表安全的 Dex 云数据,使用与签署 APK 相同的密钥进行签名,不过这类功能暂时还在测试并未投入使用,因为Google还需要在 Google Play 上进行配置让 dex2oat 可以生成这些应用程序工件。

这个功能对开发者来说可能是个好事,因为即便是大型应用程序也可以提高在低端硬件上的安装速度,只不过这个功能可能会配置为可选,因为实际使用时这会增加数据下载量,对于数据流量价格较高的地区可能会花费更多费用。

我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看评论
created by ceallan