Android 是什么导致软键盘停止响应?

Android 是什么导致软键盘停止响应?,android,opengl-es-2.0,keyevent,Android,Opengl Es 2.0,Keyevent,我正在经历一些我无法完全描述的事情 我不知道为什么一直在做一些会弄乱软键盘的事情,不仅仅是在我的应用程序中,而是在整个设备上 所以,我正在用OpenGLES2.0开发一个游戏。在我实现GLSurfaceView之前,一切都很好,但是在那之后,在一些随机的情况下,软键盘停止响应,例如本机messenger应用程序 我在我以前的项目中也看到过这种情况,但在安装基于OpenGl的游戏后没有用作调试设备的其他手机上也看到过这种情况 主要的问题是我不明白是什么原因造成的,所以我不知道从哪里开始寻找 当键盘

我正在经历一些我无法完全描述的事情

我不知道为什么一直在做一些会弄乱软键盘的事情,不仅仅是在我的应用程序中,而是在整个设备上

所以,我正在用OpenGLES2.0开发一个游戏。在我实现GLSurfaceView之前,一切都很好,但是在那之后,在一些随机的情况下,软键盘停止响应,例如本机messenger应用程序

我在我以前的项目中也看到过这种情况,但在安装基于OpenGl的游戏后没有用作调试设备的其他手机上也看到过这种情况

主要的问题是我不明白是什么原因造成的,所以我不知道从哪里开始寻找

当键盘没有响应时,它会记录一个按键警告

02-18 15:08:29.924: W/ViewRootImpl(1261): Dropping event due to no window focus: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_G, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=93568743, downTime=93568743, deviceId=-1, source=0x101 }
这感觉好像与内存过载有关,但我无法模拟总是发生这种情况的情况,所以我不能完全确定

我很想提供一些代码,但因为我不知道是什么导致了这一点,我不知道该显示什么

谢谢

焦点在视图上“挂起”。下一次当你无意中发现这一点时,强制杀死游戏,看看它是否仍然发生


也可能是一个阻止输入事件上下文更改的错误,但这只有在gl视图以某种方式泄漏,并且UI服务本身已经完成的情况下才会表现出来。

强制杀掉游戏无助于解决问题,强制杀掉messenger应用程序并再次启动它会有帮助。在那之后一切都很好。我把这个答案标记为正确的,因为它引导我解决了这个问题。这可能被认为是一个新手的错误,但我相信很多移动开发者并不完全理解垃圾收集器、内存管理等(我知道我不知道)。我将活动作为上下文传递给GLRenderer,并在GLRenderer中使用它与UI线程通信,这导致了活动/glView的泄漏。通过将getApplicationContext()传递给渲染器并使用处理程序与活动通信来解决此问题。如果我错了,或者还在做傻事,请纠正我。