问题描述
我的申请包含 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 (将#修改为@)