问题点
1、程序其实很多时候都经不起用户的快速点击,为了处理这问题,一般会对用户快速操作做些拦截处理,比如你当前的操作距离上一次操作不得小于2秒。
2、其实那种快速操作一般是测试人员的行为,正常用户一般不会这么做,因为这不属于用户功能,但为了避免程序出现更大的错误,作为开发者也不得不进行处理。
3、上面的事情,遇到的太多了,处理不难。最近遇到一个事情就是APP之间的交互与用户的快速点击策略冲突了。直接点就是说拦截了需要执行的指令。
解决方案
private static int count;
private static boolean flag;
private static void test01() {
new Thread(new Runnable() {
@Override
public void run() {
while (flag){
try {
Thread.sleep(2000);
if (count == 1){
System.out.println("do some things");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
方案说明
1、flag 是控制循环的开关。
2、count 是指令执行的限制开关。
3、主要目的是确保最后拦截的有效指令执行。