Cocos 和Activity 交互页面黑屏

Cocos游戏嵌套上Android页面之后, 安卓dialog在上面, cocos游戏界面在下;
锁屏或切后台,然后重新打开App,dialog背景会变黑,但是Android界面的dialog正常显示.


解决方案: 

Cocos2dxActivity 中添加下面代码即可解决.

@Override
protected void onRestart() {
    super.onRestart();
    Cocos2dxHelper.onResume();
    mGLSurfaceView.onResume();
}
@Override
protected void onStop() {
    super.onStop();
    Cocos2dxHelper.onPause();
    mGLSurfaceView.onPause();
}

效果图对比:

正常显示:

锁屏或前后台切换之后黑屏效果:

原理分析:

Cocos游戏的 Cocos2dxActivity 类生命周期监测,弹出SDK界面之后锁屏或反复前后台切换,他的声明周期如下,实质上是由于Cocos2dxActivity 在切后台时没有走OnPause(),重新启动时没有走onRessume()生命周期,导致游戏页面无法渲染,所以会黑屏.

扫描二维码关注公众号,回复: 15991391 查看本文章

猜你喜欢

转载自blog.csdn.net/zhao8856234/article/details/125766989