欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android OpenGL动态壁纸问题总结

发布时间:2024/3/26 Android 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android OpenGL动态壁纸问题总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • 打开动态壁纸时一直显示动态壁纸正在加载
  • 报错信息: 无!(这是最难受的 /(ㄒoㄒ)/~~ )。
    问题原因: 粗心导致!把本应返回的MyEngine对象写成了Engine
    问题代码块:

    public class MyGLWallpaperService extends WallpaperService {@Overridepublic Engine onCreateEngine() {return new Engine();//<---------------就是这里}class MyEngine extends Engine{//......} }

    问题代码: return new Engine();
    解决办法: 将onCreateEngine()方法中返回的Engine改成MyEngine

    总结:本来百思不得其解,百度亦不得其解,但在不经意间掠过了代码的某一处就发现问题所在,真是造化弄人啊!所以同志们,在遇到这种bug时先不要worry,可能只是缘分未到,一定要按时睡觉!!!

  • 打开动态壁纸时程序直接崩溃,显示xxxActivity已停止运行
    报错信息: A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 2128 (GLThread 115)
    问题原因: GLThread报错,具体未知(如果有知道的,欢迎评论指教)。
    问题代码块:
  • class MyEngine extends Engine{GLSurfaceView glView = null;MyRender render = null;//......private void onCreate(SurfaceHolder holder){super.onCreate(holder);glView = new GLSurfaceView(MyGLWallpaperService.this);final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();final boolean supportsEs2 = configurationInfo.reqGlEsVersion >= 0x20000||(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)&&(Build.FINGERPRINT.startsWith("generic"))|| Build.FINGERPRINT.startsWith("unknow")|| Build.MODEL.contains("google_sdk")|| Build.MODEL.contains("Emulator")|| Build.MODEL.contains("Android SDK built for x86");//通知默认的EGLContextFactory和默认的EGLConfigChooser选择哪个EGLContext客户端版本。if(supportsEs2){glView.setEGLContextClientVersion(2);//<-------------------问题在这里render = new MyRender(MyGLWallpaperService.this);glView.setRenderer(render);}else{Toast.makeText(MyGLWallpaperService.this ,"This device does not support OpenGL ES 2.0",Toast.LENGTH_LONG).show();}}//......}

    问题代码: glView.setEGLContextClientVersion(2);
    解决办法: 将glView.setEGLContextClientVersion(2);删掉。

    总结:适合别人的代码不一定适合自己!

    总结

    以上是生活随笔为你收集整理的Android OpenGL动态壁纸问题总结的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。