애플리케이션에서 OpenGL과 올바르게 작동하고 Lifecycle Methods를 사용할 때 몇 가지 문제가 있습니다 : onPause()
및 onResume()
.GLSurfaceView 라이프 사이클 메소드 onPause() 및 onResume()
documentation 상태 :
활동 수명주기 활동이 일시 정지 및 재개 될 때 GLSurfaceView를 통보해야합니다
. GLSurfaceView 클라이언트는 활동이 일시 중지되었을 때 onPause()를 호출해야하며, 활동이 재개 될 때 onResume()을 호출해야합니다. 이러한 호출을 통해 GLSurfaceView는 렌더링 스레드를 일시 중지했다가 다시 시작하고 GLSurfaceView가 OpenGL 디스플레이를 해제하고 다시 만들 수 있습니다.
나는 약간 시스템 (활동/조각)에 의해 호출로 onPause()
및 onResume()
은 안드로이드의 나머지 부분, 라이프 사이클 이벤트입니다 혼동 된 우선. 여기에서 설명 (자세한 설명은 onPause() 및 onResume()에 있음)에서 개발자가 수동으로 호출해야하는 것으로 보입니다.이 onPause()
및 onResume()
를 호출하고 문제를 발견하지 않았습니다없이 내가 GLSurfaceView
을 사용하고
. 그러나, 공을 (그리고 활동 재개에 이상한 행동에 대한 가능성이 용의자 감소)의 이익에 나는 설명서에 설명 된대로 그들을 추가하려고합니다.
이 사용 onResume()는 NullPointerException
가 발생되도록 그러나 보인다 :
07-23 13:20:08.570: E/AndroidRuntime(20777): Caused by: java.lang.NullPointerException
07-23 13:20:08.570: E/AndroidRuntime(20777): at android.opengl.GLSurfaceView.onResume(GLSurfaceView.java:544)
07-23 13:20:08.570: E/AndroidRuntime(20777): at com.ActivityNameHere.onResume(ActivityNameHere.java:151)
나는 View
와 Activity
을 등록 누락 단계가 있습니까?
setRenderer에 대한 문서에서 : "이 메소드는 GLSurfaceView의 라이프 사이클에서 * 한 번만 * 호출되어야합니다." 옳은 일을하고 있는지 확신합니까? 아니면 뭔가를 놓친 것일 수도 있습니다. – async