アプリケーションで OpenGL を正しく使用しようとしていますが、ライフサイクル メソッドの使用に関していくつか問題があります:onPause()
およびonResume()
.
ドキュメントには次のように記載されています。
アクティビティのライフサイクル
アクティビティが一時停止および再開されたときに、GLSurfaceView に通知する必要があります。GLSurfaceView クライアントは、アクティビティが一時停止するときに onPause() を呼び出し、アクティビティが再開するときに onResume() を呼び出す必要があります。これらの呼び出しにより、GLSurfaceView はレンダリング スレッドを一時停止および再開でき、GLSurfaceView は OpenGL ディスプレイを解放して再作成することもできます。
まず第一に、システム (アクティビティ/フラグメント) によって呼び出される Android の残りのライフサイクル イベント全体で、少し混乱しonPause()
ていました。onResume()
ここで、説明 ( onPause()とonResume () の詳細な説明を含む)から、開発者が手動で呼び出す必要があるようです。
私は電話をかけGLSurfaceView
ずに使用してきましたが、問題に気づいていません。ただし、ボールをプレーするために (そして、アクティビティを再開する際の奇妙な動作の可能性のある容疑者を減らすために)、ドキュメントに記載されているようにそれらを追加しようとしています。onPause()
onResume()
ただし、 onResume() を使用すると aNullPointerException
がスローされるようです。
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)
Activity
を に登録するために欠けている手順はありView
ますか?