用来解决返回Android游戏加载资源时黑屏的问题。帖子过些日子估计就沉了,因此转出来,以供后面查询。java
须要修改三个文件:android
1) cocos2dx/platform/CCPlatformMacros.h缓存
将Line84修改成 #define CC_ENABLE_CACHE_TEXTURE_DATA 0orm
2)cocos2dx/platform/android/java/src/org/cocos2dx/lib/Cocos2dxGLSurfaceView.java游戏
注释掉Line167。资源
3)android工程目录下jin/hellocpp/main.cppit
注释掉Line32~43。form
基本原理就是在activity进入后台后,不清除texture缓存,这样在activity回到前台后,不须要从新load资源。class
我在本身的游戏上试了一把,修改以前切回游戏须要4秒左右时间,修改后不用1秒,可谓瞬间完成。后台
不过这个解决方案有些小问题,当有其余surfaceView的activity,好比集成了Admob广告后,切回来时只能看到广告,而不显示游戏画面。有个老外Pablo Tonello回复帖子说没有集成Admob也遇到了这种状况。目前还不知道是啥问题,有待慢慢研究。