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:


3. 可以解决的问题:


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


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


android锁屏游戏黑屏


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


很多文章都提到了 前三点  第四点设置minSdkVersion是一定要设置的 高于8 不行 具体原因不清楚 知道的楼下留言

更多相关文章

  1. android后台执行定时任务(保活)&&使用AlarmManager的各种坑
  2. 微信Android客户端后台保活经验分享
  3. android开机自启动的后台Service的实现 .
  4. Android 创建单独的服务运行在后台(无界面)
  5. 在android中获取系统后台运行的进程
  6. Android下基于OpenGL的程序会发生纹理丢失的原因
  7. Android 开机自启和后台自启权限
  8. Android 根据包名杀死应用后台进程
  9. Android 检查版本更新 Server后台下载

随机推荐

  1. Android:Activity(五):Activity加载模式
  2. android如何读取项目中的图片或文件
  3. Android开机LOG
  4. 如何快速启动安卓模拟器(Android Emulato
  5. 【转】 Android开发手记一 NDK编程实例
  6. Android 实现TextView中文字链接的方式
  7. AndroidRuntime 流程
  8. Android Activity生命周期管理
  9. Day3.4--Android简单UI控件之ImageView以
  10. android多屏幕适配(1)