这就是谷歌尝试使用机器学习来替换当前模型的原因
Google前几天发布了第一个Android 12开发人员预览版,我们一直在研究代码以查找所有新功能。我们发现的最激动人心的变化之一是对Android如何检测向后滑动手势的全面检查。如果实施,Android 12将使用机器学习模型来预测用户何时打算使用向后手势。
随着Android 10的发布,Google推出了全屏手势导航系统。Android的手势导航系统将药丸放在屏幕底部,您可以与之交互以在应用程序之间切换,打开最近的应用程序界面或进入主屏幕。同时,后退按钮已替换为可以从屏幕左侧或右侧触发的向内滑动手势。关于Android的后向手势问题的说法已被大量流传,但值得谷歌称赞的是,他们使整个生态系统的体验保持一致,并为开发人员提供了API,以确保与手势的兼容性。尽管许多应用已不再使用导航抽屉,仍然有很多应用程序的后向手势可能会与应用程序内UI发生冲突。为了解决这个问题,Google正在测试一种新的基于机器学习的方法来检测Android 12中的后手势。
Android的后向手势当前的工作方式如下。屏幕两侧几乎所有时间都存在一个不可见的触发区域。此触发区域从屏幕侧面开始在宽度上介于18dp-40dp之间,具体取决于用户定义的后灵敏度设置。用户可以通过简单地将手指放在插图中的任何位置然后向内移动该手指经过最小距离来触发后退手势。Google在设计后退手势插图时使用了手机屏幕热图,它们定位在用户认为符合人体工程学且一手友好的识别区域上。
正如Google自己所承认的那样,这种方法的问题在于某些用户仍在滑动以打开导航抽屉,这与后退手势冲突。每个应用程序的设计都不同,但是后手势触发区域仍显示相同的内容。因此,这种一种千篇一律的后向手势方法在某些应用程序的设计中不能很好地发挥作用,因此这就是Google尝试使用机器学习来替换当前模型的原因。
在调查Google对Android 12中的双击后退手势所做的更改时,XDA认可了开发人员Quinny899发现存在新的TensorFlow Lite模型和称为“ backgesture”的vocab文件。后者包含用于流行和晦涩的Android应用程序的43,000个软件包名称的列表,其中包括Quinny899自己的应用程序中的2个。我们认为该列表包含Google对其机器学习模型进行了训练的应用程序,即。他们在逐个应用的基础上确定了手势的最频繁的起点和终点。深入研究,我们发现Android 12的SystemUI中更新的EdgeBackGestureHandler类中引用了机器学习模型。如果启用了功能标志,则似乎Android 12将使用ML模型来预测用户是否打算执行手势或他们只是想在应用程序中导航。馈送给ML模型进行推理的数据包括手势的起点和终点,该应用程序是否在列表中,以及显示器的宽度(以像素为单位)。或者,如果功能标记被禁用,则Android 12会简单地恢复为标准的后向滑动检测方法(即插图)。
当前,默认情况下,基于ML的手势预测在Android 12 Developer Preview 1中处于禁用状态。如果最终无法优于现有的基于插入式模型,则Google可能会放弃这种方法。但是,直到Google在几个月后推出Android 12 Beta之前,我们才能确定,因为那时Google通常会透露其对Android的更大变化。