Android 当双击按钮开始另一个活动时,应用程序关闭而不崩溃

问题描述

我的申请包含 2 个活动。

  1. 主要活动
  2. 测试活动

在 MainActivity 中有一个按钮,单击该按钮时,TestActivity 将启动。 应用程序的主题是“Theme.AppCompat.Light.Dialog” 并使用此代码设置窗口大小。

window.apply{
            attributes.apply {
                width = 800
                height = 800
            }
            clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
            setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
        }

问题是,当我非常快速地多次点击按钮时, 然后我的应用程序被关闭,没有任何错误。

当我通过最近的应用程序返回应用程序时,我可以看到 TestActivity 已打开。 当我通过最近应用程序进入应用程序时,按钮工作正常。 此外,将应用主题设置为“Theme.AppCompat.Light.NoActionBar”,然后它也可以正常工作。

所以我试图以多种方式避免双击,但没有什么不同。 我的一个代码是这样的。

button.setOnClickListener {
            Log.d("TAG","button clicked")
            if (SystemClock.elapsedRealtime() - mLastClickTime < 1000){
                return@setOnClickListener
            }
            mLastClickTime = SystemClock.elapsedRealtime()
            startActivity(Intent(this,TestActivity::class.java))
        }

“Theme.Appcompat.Dialog”有问题吗?

MainActivity 的生命周期停止在 onStop(),而不是 onDestroy()。 就在 onStop() 被调用之前,我可以看到日志。

W/libEGL:EGLNativeWindowType 0x7527b63010 断开连接失败

  • 它只发生在我的设备上(Android 8.0)。另一个设备(android 10.0)没问题。

  • 如果 <item name="android:windowIsTranslucent">true</item> 被添加到 style.xml,那么它就会发生。删除这个后,它工作正常。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)