今日,xiaomi time 发布了相关表示,HyperOS 4 将是小米历史上最稳定的更新,当然这不是重点,重点是根据近期 HyperOS 3.1 版本,可以看到对应的应用架构出现了变化,小米正在分阶段弃用对应的旧版代码架构,例如:
HyperOS 3.1 开始移除部分系统模块(特别是天气和图库)中的
MIUI SDK。
以 HyperOS 3.1 作为过渡版本,通过引入了原生 HyperOS SDK 以及已弃用的 MIUI SDK ,未来 HyperOS 4 预计将通过彻底移除向后兼容层来完成这一迁移。
这一转变预计可以消除十多年来冗余的函数调用和未优化的依赖链。
当然,最有意思的还是,针对系统核心应用,HyperOS 已经在使用 Flutter 和 Rust 重写,目前已在 HyperOS 3.1 中进行试点 ,按照它的说法:
HyperOS 4 旨在统一系统分区内的 UI 渲染和逻辑稳定性,从而取代之前 MIUI 版本中碎片化的 Java/Kotlin 遗留架构。
当然,这算是一个大的 break change ,从 HyperOS 3.1 开始,基于 Flutter 的应用会打破之前旧系统可以升级新系统应用的情况,因为新的 HyperOS 4 Flutter 应用会无法在 HyperOS 3 及更早版本上运行。
注意,这里说的是用来的新 Hyper SDK 的系统核心应用。
其实对比新旧的相册应用也可以看出来,图一是 4.x 版本, 而图而是 5.0-R 的版本,新版本在 libchecker 下已经看不到相应的 Kotlin 信息了,甚至没有了对应的 dex 目录,只有原生动态库 :
另外,也有网友分析了他内部的依赖,可以看到 hyper 相关的实现不少,应该是 HyperSDK 提供:
当然,xiaomi time 也表示,旗舰级机型在 HyperOS 4 上性能提升幅度有限,相反入门级和中端设备反而可能获得更显著的性能提升,因为技术债务的消除,也可以节省更多的空间。
当然,也有人猜测这个操作是为了提前布局,例如:
- 小米有很多不同平台的产品,用 flutter 可以做到不同平台的产品也可以跨平台,也就是核心系统应用未来有可能出现在其他平台上,比如汽车,眼镜等
- 小米打算走和华为一样的路线,华为早期也是通过 flutter 做 UI 层兼容抽象,通过 flutter ,如果后续小米有独立系统发布,应用支持可以更方便直接i迁移, 因为 flutter 只需要适配嵌入层和 vulkan 就可以无缝适配
不过这些都只是猜测,而从目前的情况来看,这个决策应该是真的,只是带来的影响如何,只能等官方正式发布后看看了。