在处理编程场景时,我们有时候需要控制某些频率。比如一个用户疯狂地点击一个按钮,我们想要这样处理。
- 在5秒之内,只处理第一个点击请求的内容
使用 CooBox 中的 EarlyBirdExecutor
(早鸟执行器,早起的鸟儿有虫吃。^_^
) 我们可以很便捷的实现该功能。
第一步,创建对象
1
|
|
其中构造参数,接受一个有效的时间周期,单位为毫秒。
第二步,执行递交任务
1 2 3 4 |
|
- 每次用户点击的时候,执行上面的代码调用
- 当在单位时间周期内,是第一个提交任务,则被执行,
executed
值为true
,否则为false
完整示例源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
如何快速使用
EarlyBirdExecutor
已经包含在 CooBox 中,简单几步即可集成。开始集成EarlyBirdExecutor
源码 https://github.com/secoo-android/coobox/blob/main/library/src/main/java/com/secoo/coobox/library/util/schedule/EarlyBirdExecutor.kt