glClearColor no funciona correctamente (android opengl)

Quiero cambiar el color de fondo de mi aplicación en tiempo de ejecución. Entonces, al hacer clic en el botón, primero llamo:

GLES20.glClearColor(color[0], color[1], color[2], color[3]);

Entonces llamo:

GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);

¡Y no hace nada! Mantiene el color de fondo actual, no lo cambia. Pero cuando detengo mi aplicación y la reanudo nuevamente, el color de fondo cambia.

EDITAR: Encontré una manera de hacerlo. Cada cuadro que primero llamoglClear pero no llaméglClearColor. Entonces, si primero llamoglClearColor cada cuadro antes de llamarglClear funciona. Pero esto todavía no tiene sentido para mí, quería evitar llamarglClearColor en cada cuadro, pensé que sería suficiente si lo llamo una vez cuando quiero cambiar el color.

Respuestas a la pregunta(1)

Su respuesta a la pregunta