cocos2dx andoroid切换后台后资源重载

返回Android游戏黑屏解决办法
这几天逛cocos2d-x.org论坛,发现cocos2d-x的作者放出来一个帖子,用来解决返回Android游戏加载资源时黑屏的问题。帖子过些日子估计就沉了,所以转出来,以供后面查询。
需要修改三个文件:
1) cocos2dx/platform/CCPlatformMacros.h
 
Line84修改为 #define CC_ENABLE_CACHE_TEXTURE_DATA       0


2)cocos2dx/platform/android/java/src/org/cocos2dx/lib/Cocos2dxGLSurfaceView.java
注释掉Line167


3
android工程目录下jin/hellocpp/main.cpp
注释掉Line32~43


基本原理就是在activity进入后台后,不清除texture缓存,这样在activity回到前台后,不需要重新load资源。
我在自己的游戏上试了一把,修改之前切回游戏需要4秒左右时间,修改后不用1秒,可谓瞬间完成。
不过这个解决方案有些小问题,当有其他surfaceViewactivity,比如集成了Admob广告后,切回来时只能看到广告,而不显示游戏画面。有个老外Pablo Tonello回复帖子说没有集成Admob也遇到了这种情况。目前还不知道是啥问题,有待慢慢研究。
这里是在github上的https://github.com/cocos2d/cocos2d-x/pull/1758/files

原文地址:https://www.cnblogs.com/conerlius/p/3157213.html