硬件评估

硬件评估可提供三种目标触感反馈效果的定量特征,这些效果是通过用于调用触感反馈的常用方法采样的。评估结束后,您可以将每台设备上每个目标触感反馈的效果应用于效果图,以得出结论。

性能地图会显示多部当前 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