cocos1.6.2升级 cocos1.9.3后 微信登陆闪退
升级Cocos到1.9.3后,微信登录闪退的问题是一个常见的bug。下面是详细的描述和解决方案。
问题描述
在升级Cocos到1.9.3后,微信登录时会出现闪退的问题。这通常是由于Cocos的新版本对OpenGL的使用方式有所改变,而微信登录涉及到的UI操作可能会导致OpenGL线程的冲突。
参考内容
你提供的参考内容中提到了接入AnySDK的安卓微信登录闪退问题,并且增加了一段代码可以解决这个问题。这个代码是通过Cocos2dxHelper.runOnGLThread()方法在OpenGL线程上执行一个Runnable对象来避免UI操作和OpenGL线程的冲突。
详细描述
1. 升级Cocos到1.9.3后
当你升级Cocos到1.9.3后,可能会出现一些兼容性问题。特别是当你的项目涉及到OpenGL的使用时,新版本的Cocos可能会对OpenGL的使用方式有所改变。
2. 微信登录闪退的问题
微信登录是一个复杂的过程,它涉及到UI操作和网络请求。在升级Cocos后,如果你的项目没有正确处理这些线程的冲突,就可能出现闪退的问题。
3. 解决方案
解决这个问题的一种方法是通过Cocos2dxHelper.runOnGLThread()方法在OpenGL线程上执行一个Runnable对象来避免UI操作和OpenGL线程的冲突。具体来说,你需要增加一段代码如下:
```java import org.cocos2dx.lib.Cocos2dxHelper;
Cocos2dxHelper.runOnGLThread(new Runnable(){
@Override public void run() {
if (/*条件*/){
//执行UI操作或网络请求 }
}
});
```
这段代码会在OpenGL线程上执行一个Runnable对象,避免UI操作和OpenGL线程的冲突。
总结
升级Cocos到1.9.3后,微信登录闪退的问题是一个常见的bug。通过增加一段代码来避免UI操作和OpenGL线程的冲突,可以解决这个问题。具体来说,你需要使用Cocos2dxHelper.runOnGLThread()方法在OpenGL线程上执行一个Runnable对象来处理这些线程的冲突。