问题表述:
在切换品牌后,按一个button结果View 的onkeyListener响应了多次的onKeyDown导致跳转多次(keyDown执行长按连续跳转,所以不能在keyUp中做)
思路:
从log上看keyEventManager也只是上报了一次keyDown,不过keyUp的时间明显不对。追踪代码发现原来是在拦截keyEventManager的service在KeyUp 对特有品牌调用了一个接口,而接口上了锁,导致另一个方法无法访问,等待资源释放的时候才能获取到值,然后再将keyUp传递给View,但是对于View来说,它只是计算了KeyDown和keyUp的时间,过长会理解成用户长按的逻辑,所以有多个KeyDown
这是一个很简单的问题,但是涉及到耗时操作和时间差分析对比,觉得思路挺有用的所以做个记录