Android获取GPU模型
作者:互联网
从终端运行以下命令时:
adb shell dumpsys | grep GLES
输出为:
GLES: Qualcomm, Adreno (TM) 330, OpenGL ES 3.0 V@53.0 AU@ (CL@)
但是,以编程方式运行时,我无法获得输出.
String GPUModel = "";
String command = "adb shell dumpsys | grep GLES";
try {
InputStream inputStream = Runtime.getRuntime()
.exec(command)
.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
GPUModel = bufferedReader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
GPUModel为空.
解决方法:
您应该使用glGetString来获取GPU类型:
String renderer = GLES20.glGetString(GLES20.GL_RENDERER);
但是,如果您需要检查GPU的某些功能,则最好不要检查GPU名称,而是检查是否有必要的GL扩展.您可以通过请求GL_EXTENSIONS来检索所有这些文件:
String extensions = GLES20.glGetString(GLES20.GL_EXTENSIONS);
标签:opengl-es,android,android-runtime,android-shell 来源: https://codeday.me/bug/20191120/2044105.html