所谓大屏小程序,是以 Cube 小程序技术栈 为载体,运行在智能电视或智能机顶盒等设备上的一种小程序形态。这些设备的主要特点是:
- 以 Android 系统为主,系统版本普遍较低,有些设备依然停留在 Android 4.2,Android 4.4 以下设备占比在40%+;
- 内存低,512MB 以下的设备占比超过 20%,1GB 以下的设备占比超过 60%;
- CPU 主频低,双核占比在 20% 左右,有的只有 1.5GHz;
- 和手机设备相比较,按手机淘宝的设备评分体系为参照的话,全部都是低端设备。
正是因为这些智能电视或智能机顶盒天然存在的硬件上的瓶颈,且运行在这些智能电视或智能机顶盒上的Android 应用程序在版本发布上受行业广电监管以及硬件厂商的限制诸多,每年只有几次的版本发布迭代窗口。所以亟需一种更小、更快、更省的动态化技术栈来解决用户设备升级周期长,客户端版本长尾问题。而 Cube 小程序技术栈,从设计之初就具备更小、更快、更省的特点,因此成为智能电视或智能机顶盒(以下简称为 OTT设备的不二选择。
对于 Cube 渲染引擎来说,在支付宝钱包中,面对的是手机端的场景,而在OTT上,面对的是一个全新的场景,既需要解决 OTT 设备的性能问题,也需要更合理的焦点引擎能力的支持。
焦点引擎
何为焦点引擎?上面提到了何为大屏小程序以及大屏小程序运行的 OTT 设备,而这些 OTT 设备的交互方式,就是通过遥控器来操作,这一点和触控设备完全不同。遥控器通过 Android 系统的按键系统,进行事件分发,来实现应用程序的交互,那么这里就不得不提到我们的焦点引擎,也就是 FocusEngine 了。
所谓 FocusEngine,实际包括几大部分:FocusNode (焦点 View )、FocusTree (焦点树)、FocusFinder (焦点查找器)、FocusState (焦点状态)、FocusEffect(焦点效果)。
而原有的 Cube 小程序技术栈不具备FocusEngine 的能力&