我故意在模拟器上运行OpenGL ES 2.0应用程序。虽然我知道这应该是失败的(而且确实如此),但我想学习如何以编程方式捕获错误。
我正在使用HelloOpenGLES20教程代码,所以我认为我不需要在此重新发布它。我使用的是Android 4.0.3(第15版)代码库。
换句话说,如何使我的应用程序更强大,足够强大以捕获此错误? (例如,假设我疯狂到想要提供OpenGL 2.0和1.0支持,并且如果我无法运行2.0则回退到1.0代码 - 请不要告诉我检查API版本,因为这不会解决如何检测此特定错误的问题)
谢谢大家
答案 0 :(得分:0)
一般情况下,我建议不要检测错误。而最佳做法是测试您要使用的特定功能,阻止错误。
在这种特殊情况下,请检查系统是否支持OpenGL ES 2.0:
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
boolean supportsEs2 = configurationInfo.reqGlEsVersion >= 0x20000;