Mainline 组件最终以 APK 或者 APEX 文件的形式交付。APK 我们很熟悉,而 APEX 是谷歌开发的一种新的文件格式,类似于 APK。但是其根本区别在与,APEX 在系统启动过程中,加载的更早。
因此,以前需要成为完整操作系统更新一部分的重要安全性和性能的更新,现在可以像更新应用一样轻松的下载和安装。
为了确保 Mainline 更细不会破坏原有的功能,还为此增加了保护机制和增加的测试流程,以确保每次更新都是经过全面测试以及完善的后备方案。
三. 小结时刻Project Mainline 的本意是为了让更新更快触达用户,以提高安全性、隐私和一致性等问题。虽然现在 Android Q Beta 3 中可能会导致强制重启,但是问题已经暴露出来,后续解决它就很简单了。
可能 P-M 的工程师觉得有更新,立即重启一下就可以生效了,就给用户强制重启了,当然这也可能单纯的就是一个 Bug。理论上如果不是很重要的组件更新,可能和重启应用一样简单,就不需要对系统进行重启,但是一些重要的组件更新,可能就需要重启系统来确保它生效。
不过话说回来,再严重的问题,都已经运行在用户端设备上这么久了,也不差这一天两天的。参考 iOS 系统更新的策略就挺好的,立即更新或者在半夜空闲时更新。
这种单模块的更新,可能会让开发人员和测试人员更迷惑,以前兼容性的问题,只需要问清楚手机型号和系统版本,就可以针对性的做适配。现在好了,还需要弄清楚对应的 Mainline 模块的版本号,也许有些问题已经被谷歌偷偷的修复了,但是在用户侧还没有及时更新。这时开发人员还是蛮尴尬的,你说我改还是不改?
你觉得呢?欢迎在留言区讨论!
本文对你有帮助吗?留言、转发、收藏是最大的支持,谢谢!
references:
APEX 格式
project mainline
project treble
公众号后台回复成长『成长』,将会得到我准备的学习资料,也能回复『加群』,一起学习进步;你还能回复『提问』,向我发起提问。