安卓应用安装方式大改,技术进步还是垄断封闭?

如何在Android手机上安装应用?看到这个问题 , 可能许多朋友会觉得“这太简单” 。 特别是对于“玩机老手”来说 , 他们甚至可以一口气举出多种在Android手机上安装应用的办法 。
安卓应用安装方式大改,技术进步还是垄断封闭?
文章图片
比如说 , 可以直接在应用商店搜索想要的应用 , 然后点击“安装”即可;比如说 , 还可以自行下载安装包 , 也就是APK文件 , 然后在文件管理器里点击打开 。 当然 , 更“高级”点的话 , 还可以将手机连接到电脑 , 然后用ADB程序直接向手机推送安装包 。
安卓应用安装方式大改,技术进步还是垄断封闭?
文章图片
这几种安装方式装入的程序 , 在性能上有没有区别?按照以往的经验来说 , 几乎是没有的 。 但问题就在于 , 在今年8月份后 , 这个情况可能就会发生巨大的变化 。
因为APK的碎片化太严重 , 谷歌即将放弃
日前有消息显示 , 自今年8月起 , 谷歌官方应用商店PlayStore的应用上传技术规范将进行调整 , 已经使用了十年以上的APK安装包将不再作为默认的上传格式 , 取而代之的将是全新的AAB格式 , 也就是AndroidAppBundles 。
为什么谷歌要放弃APK?要理解这个问题 , 我们就必须要明白一件事 , 那就是发展了十几年的整个Android开放生态 , 到底对开发者造成了多大的麻烦 。
设想一下 , 如果你是某游戏的开发者 , 当游戏需要添加新的内容时需要编写哪些东西呢?
安卓应用安装方式大改,技术进步还是垄断封闭?
文章图片
首先 , 必须要考虑对市面上所有移动CPU架构的兼容性 。 这一点相对比较容易 , 因为目前主流的手机CPU就只有两种指令集 , ARMV7与ARMV8 , 就算考虑到今年底发布的新品 , 最多也就再加一个ARMV9 , 也就是只需要写三份主程序代码就行 。
其次 , 现在市面上主控芯片通常内建的是高通Adreno、ARMMali , 以及ImaginationPowerVR三种移动GPU方案 。 由于每一种方案使用的纹理代码、画面特效技术都是不同的 , 所以需要准备好三个不同的3D建模数据包 , 但如果考虑到年底三星使用AMDRDNA2架构GPU的新旗舰SoC也即将上市 , 就需要准备四套数据包才行 。
安卓应用安装方式大改,技术进步还是垄断封闭?
文章图片
此外 , 手机游戏中并不是只有3D画面 , 通常还会有许多2D菜单及界面元素 。 而要想让这些内容的显示效果清晰 , 就得根据各种不同画面比例、不同分辨率的设备 , 分别做出不同DPI(像素密度)的2D界面 。 大概做个七八种 , 应该也就够用了 。
最后一个步骤 , 就是将上述所有的这些数据整合成一个安装包 , 也就是APK里 , 然后进行发布、上传 。
安卓应用安装方式大改,技术进步还是垄断封闭?
文章图片
不难看出 , 对于开发者而言 , 为了确保应用的兼容性 , 不得不每次都编写大量的兼容性代码 , 从而使得最终的APK安装包体积极度臃肿 。 而对于用户来说 , 这也意味着当他们耗费了大量的时间和流量 , 下载并安装了想要的应用后 , 实际上其中可能有大量的代码、数据包都不是针对自己那台手机的 , 但是这些代码却又会占用存储空间 , 并间接对性能造成不良影响 。
AAB的好处是什么?它能让程序更小更快
明白了传统AndroidAPK的困境后 , 我们再来看谷歌此次用来替代它的AAB , 其实就十分明了了 。
在上文中的开发者场景中 , 这次虽然依旧需要为市面上的不同处理器、不同分辨率的设备等 , 适配各种各样的数据包 。 但是在最后一步将所有文件打包时 , 不再需要构建APK安装包 , 而是在AndroidStudio(谷歌官方提供的编程工具)中选择“BuildBundle”即可 。