android切换到后台图片纹理丢失的解决方案
2016-06-12 15:49
507 查看
Android切换到后台,返回后纹理丢失
1. 纹理丢失的原因:cocos2dx在android切换后台再切换回来的时候会重新绘制纹理,需要修改它的重新绘制机制。
2. 解决方式:
cocos2dx/platform/CCPlatformMacros.h:
--1.修改#defineCC_ENABLE_CACHE_TEXTURE_DATA 1
为 #defineCC_ENABLE_CACHE_TEXTURE_DATA 0
--2.cocos2dx/platform/android/java/src/org/cocos2dx/lib/Cocos2dxGLSurfaceView.java:注释 super.onPause()
--3.javaactivity-android.cpp: 注释
else
{
cocos2d::GL::invalidateStateCache()
cocos2d::GLProgramCache::getInstance()->reloadDefaultGLPrograms();
cocos2d::DrawPrimitives::init();
cocos2d::VolatileTextureMgr::reloadAllTextures();
cocos2d::EventCustom recreatedEvent(EVENT_RENDERER_RECREATED);
director->getEventDispatcher()->dispatchEvent(&recreatedEvent);
director->setGLDefaultValues();
}
--4.修改android最小适配sdk: <uses-sdk android:minSdkVersion="8"/>
3. 可以解决的问题:
android手机切换后台,切换回来纹理错位
android手机接电话,游戏纹理错位
android锁屏游戏黑屏
调用第三方sdk跳转界面时游戏黑屏、资源错位
很多文章都提到了 前三点 第四点设置minSdkVersion是一定要设置的 高于8 不行 具体原因不清楚 知道的楼下留言
1. 纹理丢失的原因:cocos2dx在android切换后台再切换回来的时候会重新绘制纹理,需要修改它的重新绘制机制。
2. 解决方式:
cocos2dx/platform/CCPlatformMacros.h:
--1.修改#defineCC_ENABLE_CACHE_TEXTURE_DATA 1
为 #defineCC_ENABLE_CACHE_TEXTURE_DATA 0
--2.cocos2dx/platform/android/java/src/org/cocos2dx/lib/Cocos2dxGLSurfaceView.java:注释 super.onPause()
--3.javaactivity-android.cpp: 注释
else
{
cocos2d::GL::invalidateStateCache()
cocos2d::GLProgramCache::getInstance()->reloadDefaultGLPrograms();
cocos2d::DrawPrimitives::init();
cocos2d::VolatileTextureMgr::reloadAllTextures();
cocos2d::EventCustom recreatedEvent(EVENT_RENDERER_RECREATED);
director->getEventDispatcher()->dispatchEvent(&recreatedEvent);
director->setGLDefaultValues();
}
--4.修改android最小适配sdk: <uses-sdk android:minSdkVersion="8"/>
3. 可以解决的问题:
android手机切换后台,切换回来纹理错位
android手机接电话,游戏纹理错位
android锁屏游戏黑屏
调用第三方sdk跳转界面时游戏黑屏、资源错位
很多文章都提到了 前三点 第四点设置minSdkVersion是一定要设置的 高于8 不行 具体原因不清楚 知道的楼下留言
相关文章推荐
- Patrol 7 架构下?的处理方法
- 中病毒后常用的解决方法病毒终极解决方案
- QQ尾巴 InfoMs.Ime 解决方案
- IE对CSS样式表的限制分析与解决方案
- 开源MySQL高效数据仓库解决方案:Infobright详细介绍
- Cocos2d-x中背景音乐和音效使用实例
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
- Cocos2d-x UI开发之文本类使用实例
- Cocos2d-x保存用户游戏数据之XML文件是否存在问题判断方法
- Cocos2d-x UI开发之菜单类使用实例
- Cocos2d-x UI开发之CCControlButton控件类实例
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- 惊现支撑1亿pv/天的超级数据库解决方案
- Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
- Cocos2d-x学习笔记之CCLayerColor层的使用实例
- 关于bluehost空间上wordpress后台变为英文的解决方案
- select * from sp_who的解决方案
- Cocos2d-x Schedule定时器的使用实例
- Cocos2d-x中使用CCScrollView来实现关卡选择实例