Parece que está intentando conocer la cantidad de VRAM (RAM de video) disponible. The question has already been partially answered.
Sin embargo, la cantidad de VRAM no determina la cantidad de texturas se ajuste en ella: estos pueden ser comprimidos, la cantidad de RAM de vídeo puede cambiar debido a otra aplicación, y no sabemos la cantidad de memoria del el controlador de video usa.
Método 1
From this topic, se puede obtener la cantidad máxima de unidades de textura; eso significa que el número máximo que se puede unir al mismo tiempo:
int[] maxSize = new int[1];
gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxSize, 0);
And from this other one, puede recuperar el tamaño máximo de textura:
int[] maxNum = new int[1];
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, maxNum, 0);
Así que, lógicamente, puede al menos aptos maxSize[0]
² × maxNum[0]
píxeles en la VRAM sin problemas. Incluso si el VRAM se queda sin espacio, el controlador de gráficos lo administrará para nosotros (que puede incluir un bloqueo de la aplicación en caso de inanición).
De todos modos, probablemente no ajustará el tamaño de las texturas en función de la cantidad de VRAM o los píxeles disponibles; es posible pero no rentable, portátil y es difícil de implementar correctamente. Hay una manera mejor manera de hacer esto:
Método 2
99% de las veces, la cantidad que de VRAM en el chip gráfico es proporcional al tamaño de la pantalla. Por lo tanto, use the screen's DPI (ldpi, mdpi, hdpi, xhdpi) para determinar qué versión (tamaño) de la textura cargar (experimentar con diferentes dispositivos (reales)), por lo que está seguro sobre el "¿cabe en ese dispositivo?".