gpt4 book ai didi

Android throttle 按钮单击

转载 作者:太空狗 更新时间:2023-10-29 13:53:23 25 4
gpt4 key购买 nike

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

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

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

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

是否有我遗漏的极端情况?感谢任何见解!

最佳答案

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

  • 当您执行 startActivity()finish() 时,您只是在排队此请求。实际操作稍后发生,异步
  • 因此,当您开始一项新 Activity 并完成当前 Activity 时,这两件事是异步发生的,并且彼此完全独立。实际上,您是否先完成当前 Activity 并在代码的下一行开始新 Activity 甚至都没有关系。
  • 在完全启动之前,B会执行onCreate()onResume()onStart()等逻辑。这需要时间量可变,具体取决于逻辑的耗时情况。
  • 在完全完成之前,A 将对 onPause()onStop()onDestroy() 等(或只是其中的一些,具体取决于您调用 finish() 的时间点。

关于Android throttle 按钮单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42911241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com