android切换到后台,返回后纹理丢失

1. 纹理丢失的原因:cocos2dxandroid切换后台再切换回来的时候会重新绘制纹理,需要修改它的重新绘制机制。

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:

3. 可以解决的问题:

android手机切换后台,切换回来纹理错位

android手机接电话,游戏纹理错位

android锁屏游戏黑屏

调用第三方sdk跳转界面时游戏黑屏、资源错位 

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
  2. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  3. Android(安卓)Activity界面切换添加动画特效
  4. Android(安卓)Activity界面切换添加动画特效
  5. android调用setRequestedOrientation之后
  6. 实习杂记(27):android中关于横竖屏切换的那些事
  7. Android(安卓)Activity界面切换添加动画特效
  8. Android切换横屏竖屏生命周期变化
  9. OpenGL ES教程VI之纹理贴图(原文对照)

随机推荐

  1. Android wakelock机制
  2. 将新的驱动源文件添加进android内核进行
  3. android获取手机内部存储空间和外部存储
  4. Android学习笔记(4)——Activity生命周期
  5. Android开发者指南Activity and Task Des
  6. Android在任何地方模拟点击屏幕
  7. Android源码阅读-Filter过滤器
  8. Android Studio报错adb不是内部命令
  9. 在手机端运行python工具(python手机版)
  10. 【转】IDEA / Android studio 使用gradle