在开发Android的过程中,发现界面很卡。由于之前的某个软件版本是很流畅的,怀疑是软件修改导致的问题,但这些修改对系统的流畅性根本没有影响。通过实际的触摸操作发现,触摸有点问题,而不是系统的卡断(top没看到异常),于是接上鼠标,发现鼠标操作系统很流畅,这就更加证明了之前的实验观察。打开Android的开发者选项,选择显示触摸操作,发现点击触摸屏,然后放手,发现显示屏上还有触摸点,这就有问题了。正常的情况下,该触摸点应该会消失的。使用git log查看触摸屏驱动(该平台验证过没问题)的修改历史,发现这一个月内都没人去修改过,那怎么会有这种问题呢?于是去量i2c的信号,没发现异常。量触摸屏的中断脚时,发现中断有点异常,没按触摸屏时,有一个周期的脉冲,拔掉触摸屏,发现该波形还存在。让硬件的同事检查电路,发现是中断引脚上的电容导致的,拔掉该电容,该中断波形正常,系统也没出现卡断的情况。
所以,在开发初期,最好弄一个软件版本,对所以的机器进行筛选,对某些有问题的硬件及时修复好,提高开发效率。