硬件评估

硬件评估会提供通过用于调用触感反馈的常用方法采样的三种目标触感反馈效果的量化特征。在评估结束时,可以将每种目标触感效果在每台设备上的性能应用于性能图,以得出结论。

性能图显示了当前几款 Android 设备的硬件评估结果。其目的是根据上下文相关比较(而非“通过”或“失败”判断结果)来评估目标设备。围绕该概念产生的具体问题类似于:在考虑到我的手机的价格层级和执行器类型后,与竞争对手相比,其性能如何?结果是否符合我的预期?如果不符合,哪些方面需要改进?

触感反馈设置

图 1. 触感反馈硬件评估流程概览

该评估会观察 Android 触感反馈框架中三种方法的结果。

效果 1:预定义的短时触感反馈常量

VibrationEffect.EFFECT_CLICK

此常量是第 2 步中提供的 HAL-API 映射内的基准效果(即共同标准)。该常量与最常用的效果 HapticFeedbackConstants.KEYBOARD_PRESS 进行映射。评估此效果有助于确定目标设备是否已准备好提供清晰触感反馈

效果 2:短时自定义触感反馈效果

VibrationEffect.createOneShot(20,255)

对于单次短时自定义脉冲,在指定持续时间时,建议的最大阈值是 20ms。不建议单次脉冲的持续时间超过 20 毫秒,因为这样的脉冲会被视为蜂鸣振动

短时自定义触感反馈效果

图 2. 短时自定义触感反馈效果

效果 3:具有振幅变体的长时自定义触感反馈效果

VibrationEffect.createWaveform(timings[], amplitudes[], int repeat)

能否为自定义触感反馈效果生成不同的振幅是评估设备是否有能力提供丰富触感反馈的指标之一。建议的 timings [ ]amplitudes [ ] 分别为 {500, 500}{128, 255}。这表示幅度会从 50% 增加到 100%,并且采样周期为 500 毫秒。

Amplitude 变体

图 3. 具有振幅变体的长时自定义触感反馈效果

如需快速检查效果 3 的振幅控制硬件功能,请尝试 Vibrator.hasAmplitudeControl()。结果必须为 true,才能按照预期使用不同幅度执行 VibrationEffect.createWaveform