Android防爆力点击简单实用方法简介

Android  2019年4月25日 pm7:33发布6年前 (2019)更新 城堡大人
81 0 0

在产品测试,有些按钮或者功能需要进行暴力测试。理论上说是没啥问题,但是有些功能响应需要一定的时间,如果在很短时间内来多次点击就会异常或者奔溃。

因此,在有些功能是需要对功能加一些防爆力点击措施。闲着没事也整理一下自己项目中常用的措施,当然如果您有更好的方法,也欢迎分享。

你有一个苹果,我有一个苹果,彼此交换一下,我们仍然是各有一个苹果;但你有一种思想,我有一种思想,彼此交换,我们就都有了两种思想,甚至更多。

方法一:Handler机制

原理:设置判断条件,响应过后设置标签为false,然后使用Handler的延迟机制设置为true

PS:下面只是部分代码展示

               boolean allowClick = true; //默认是true

               if(!allowClick){
        	    return;
		}
		allowClick= false;
                //延迟2s后allowClick置为true
        	uiHandler.sendEmptyMessageDelayed(MSG_DELAY_ALLOW_CLICK, 2000);

allowClick置为true要考虑其他情况,比如onPause()、onDestory()、onResume()也要置为true,否则有时候可能出现无法响应(因为allowClick为false)

方法二:比对开始响应时间和下一次响应时间间隔

原理:也是设置判断条件,但是这个只是计算上一次响应到下一次响应时间,如果符合条件就继续执行。

我们知道下面两个方法都可以

1、public static long currentThreadTimeMillis () 返在当前线程运行的毫秒数。

2、public static long elapsedRealtime () 返回系统启动到现在的毫秒数,包含休眠时间。

理论上都可以用,但是个人偏爱elapsedRealtime(),这个是计算系统启动到现在的时间,比较准确。

            long pre= 0; //定义在方法之外,用于保存时间

            //执行功能内,获取当前执行时的时间
            long cur = SystemClock.elapsedRealtime();
            if ((cur - pre) > 1500) {//间隔大于1.5s
                //do something ....
                pre = SystemClock.elapsedRealtime();
            }

 

总结:两种方法,但个人偏爱于第二种方法简单使用。第一种还要考虑内存泄漏等问题。

 历史上的今天

  1. 2024: SQLite Expert的注册记录(0条评论)
  2. 2024: Android 13 U盘挂载监听(0条评论)
  3. 2022: 为TV屏适配GridView选中并实现缩放动画(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

王小波:一只特立独行的猪

插队的时候,我喂过猪、也放过牛。假如没有人来管,这两种动物也完全知道该怎样生活。它们会自由自在地闲逛,饥则食渴则饮,春天来临时还要谈谈爱情;这样一来,它们的生活层次很低,完全乏善可陈。人来了以后,给它们的生活做出了安排:每一头牛和每一口猪的生活都有了主题。就它们中的大多数而言,这种生活主题是很悲惨的...

ListView item布局简单记录

前言简单记录一下ListView中ItemLayout正文下面布局按下后文字和图片都按按下效果颜色变化。隐藏内容!付费阅读后才能查看!¥2 ¥3多个隐藏块只需支付一次付费阅读参考文章

Android消息机制之一基础简介(1)

在项目中,使用Handler是比较多的,延迟处理信息啊,或者跨线程刷新UI界面啊等.用大家都会用,但要用好,或许只能多看看源码和跟大牛们学习学习了.Handler.java,Looper.java,Message.java,MessageQueue.java这几个类主要是在/frameworks/...

Windows软件开机多个

前言有时候软件需要多开,只开一个操作不方便,比如Notepad++进行日志查询时,多开一个可以拖入其他更多的文件,因此想是开启多个界面。正文百度和谷歌后发现真的有人这么干,如下。找到一个Notepad++的快捷方式(桌面或启动菜单中)属性,选中"Shortcut"(快捷键) Tab,编辑 T...

郑振铎:月夜之话

是在山中的第三夜了。月色是皎洁无比,看着她渐渐地由东方升了起来。蝉声唧——唧——唧——地曼长地叫着,岭下涧水潺潺的流声,隐略地可以听见,此外,便什么声音都没有了。月如银的圆盘般大,静定地挂在晚天中,星没有几颗,疏朗朗的间缀于蓝天中,如美人身上披着蓝天鹅绒的晚衣,缀了几颗不规则的宝石。大家都把自己的...

萧红:荒凉的院子

一到了夏天,蒿草长没大人的腰了,长没我的头顶了,黄狗进去,连个影也看不见了。夜里一刮起风来,蒿草就刷拉刷拉地响着,因为满院子都是蒿草,所以那响声就特别大,成群结队的就响起来了。下了雨,那蒿草的梢上都冒着烟,雨本来下得不很大,若一看那蒿草,好像那雨下得特别大似的。下了毛毛雨,那蒿草上就迷漫得朦朦...