2013-12-08 7 views
2

나는 OpenGL ES 2.0() 안드로이드 게임을 개발합니다. 터치 이벤트는 1 ~ 5 분 후 작동을 멈 춥니 다. 하위 뷰를 추가하지 않습니다. 광고 네트워크는 통합되었지만 인터넷은 사용 중지되었습니다.안드로이드 dispatchTouchEvent, onTouchEvent, onTouch가 1-5 분 후에 작동을 멈 춥니 다.

우선 OnTouchListener 인터페이스에서 onTouch 메소드를 구현했습니다. 그런 다음 onTouchEventGLSurfaceView 이상에 구현했습니다. dispatchTouchEvent

이 모든 메소드는 처음 몇 분 동안 호출되지만 호출이 중지됩니다. 게임 플레이와 관련이 없습니다.

물론 이러한 문제는 무엇입니까?

try/catch 블록을 사용하여 onTouch에 코드를 래핑하고 해당 메서드에 예외가 발생하지 않도록 중단 점을 catch에 넣습니다.

답변

1

UI 스레드를 잠그면 터치가 차단되지만 GL 스레드는 차단되지 않습니다. 또한 runOnUiThread 호출을 차단합니다.

+0

예. 그것은'ArrayBlockingQueue'을 10으로 설정했습니다. 인터넷이 사용 가능하지 않을 때, 메시지가 백그라운드 스레드에 의해 보내지지 않을 때 차단하고있었습니다. 좋은 인터넷 연결로 잘 작동했습니다. – Max

1

아마도 가장 가능성이있는 것은 가로 채기가 있고, 표면보기의 "위"에있는 터치 이벤트를 소비하는 것입니다. 광고 네트워크에서 일종의 보이지 않는 광고를 표시하고 있는지 궁금합니다. (네트워크가 없기 때문에 보이지 않습니다.). 광고 네트워크를 삭제할 때 문제가 발생합니까?

+0

변경 사항을 제거하지 않았습니다. – Max