Вот ситуация: у меня есть два изображения, ширина которых превышает 1024, и которые в конечном итоге масштабируются до 2048 как степень 2. Это прекрасно работает практически на всех протестированных устройствах Android, за исключением HTC Eris и HTC Hero, которые не работают и отображают только пустой белый прямоугольник.
Что я хотел бы сделать, это добавить проверку, чтобы отключить функцию, которая использует большие текстуры. Так что в основном мне просто нужен способ определить, может ли устройство поддерживать изображения с высоким разрешением, с простым логическим результатом.
Я нашел несколько похожих вопросов в Интернете, но ни один из них не дал ответа, как это сделать.
Решение (согласно ответу Тима):
Мне удалось захватить эту информацию в методе onSurfaceCreated()
моего класса GLSurfaceView.Renderer
, а затем проверить его:
public void onSurfaceCreated(GL10 gl, EGLConfig config)
{
IntBuffer textureLimit = IntBuffer.allocate(1);
gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, textureLimit);
this.mTextureLimit = textureLimit.get(0);
}