Android 油门按钮点击

Android Throttle Button Click

我知道在某些情况下,可能需要限制(或完全禁用)按钮点击。我们一直在使用 RxView 来处理这种情况:

RxView.clicks(button)
        .throttleFirst(500, TimeUnit.MILLISECONDS)
        .subscribe(aVoid -> {
            //do work
        });

我不确定的情况是单击按钮时开始新的 activity。这种情况有必要节流吗?我最初认为一旦新的 activity 启动,旧的 activity 将不再收到任何对 onClick 的调用,但现在我不确定。

button.setOnClickListener(view -> {
    Intent i = new Intent(context, TestActivity.class);
    context.startActivity(i);
});

有没有我遗漏的边缘情况?感谢任何见解!

,您仍应限制该点击。当在 activity 上调用 finish() 时,您仍然可以在几毫秒的时间内与其进行交互。

  • 当您执行 startActivity()finish() 时,您只是在排队此请求。实际操作稍后发生,异步
  • 因此,当您开始一个新的 activity 并完成当前的一个时,这两件事是异步发生的,并且彼此完全独立。如果您先完成当前的 activity 并在代码的下一行开始新的 activity,这实际上并不重要。
  • 在完全启动之前,B 将执行 onCreate()onResume()onStart() 等中的逻辑。这将花费不同的时间,具体取决于逻辑耗时的长短。
  • 在完全完成之前,A 将对 onPause()onStop()onDestroy() 等中的逻辑执行相同的操作(或者只是其中的一些,具体取决于您在什么时候调用 finish()).