cocos2dx,Android底层与cocos层通讯延迟问题

  • Creator 版本:2.4.11

  • 目标平台: Android

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

在Android端对接第三方登录,有结果后在runOnGLThread中调用Cocos2dxJavascriptJavaBridge.evalString,调用cocos层代码,cocos层被调用起来后执行网络请求操作,但是网络请求直接调用不起来,加入延迟1秒后再调用网络请求成功。多个手机测试后发现1秒种延迟不稳定,有的手机能调用起来网络请求,有的则不可以。推测是第三方登录会开启新的activity页面,cocos的页面会被覆盖,网络请求需在cocos页面回归主页面时才能调用起来,但是第三方登录结果回调与cocos判定主页面回归之间有延迟出现的问题。希望有大佬来讨论下方案,或解答下疑惑。

第三方登录成功不就转回cocos的activity了吗?干嘛还留在三方的activity?

把 runOnGLThread 线程换成 runOnUiThread 线程试试

我的解决办法是定时循环请求,一是解决你上面遇到的情况,二是解决原生iOS上网络请求需要授权的问题

runOnUiThread 有崩溃概率还很高,只能runOnGLThread

是这样的流程,但是有一定的延迟。不然就不会有问题了

循环请求的话,还得处理重复请求的情况把

首屏的网络请求一般都是确定环境的重要请求,是要做重复请求的处理的