glidecache是系统自带的回收站文件夹,Glidecache文件可以删除,不过删除此文件以后会同时删除手机中缓存的图片,请用户们注意。这样删除缓存图片将无法找回,它不像拍摄照片那样删除以后会进入回收站。Glidecache文件是可以删除的,不过删除此文件以后会同时删除手机中缓存的图片,而且这样删除缓存图片将无法找回。
glidecache是图片缓存的文件夹,该文件夹可以删除,但是删除的同时会删除手机中的缓存图片,通过删除此文件夹删除的缓存图片无法找回,一旦删除无法恢复。
手机缓存是数据交换的缓冲区,缓存是CPU的一部分,它存在于CPU中,而CPU存取数据的速度则非常的快,一秒钟能够存取,处理十亿条指令和数据。
而内存就慢很多,缓存是为了解决CPU速度和内存速度的速度差异问题,在打开文件时,系统会将数据从内存中复制到一个缓冲区而再打开文件时,系统会直接读取缓存中的数据,则不用到内存中读取, 这样浏览文件的速度会比较快。
android系统下,切入后台,则纹理全部失效,从后台切到前台,cocos2d-x会重新加载纹理。这样有两个问题:
1、如果纹理较多的话,加载纹理会卡很长时间,就像死机一样。 变通解决方法是修改引擎代码,增加一个进度条提示。
2、文字描边等用到RenderTexture的地方会出现异常纹理,文字会花掉。 暂时不知道原因,无解。
这里提供一个解决方案,解决掉纹理失效的问题,初步测试没有发现大的问题,但是具体还要看实际运行情况,毕竟android机器太多了。
1、Cocos2dXGLSurfaceView.java代码修改
[cpp] view plain copy @Override public void onPause() { this.queueEvent(new Runnable() { @Override public void run() { Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleOnPause() } }) // super.onPause() }2、main.cpp中修改
[cpp] view plain copy void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thiz, jint w, jint h) { InitCrashReport() if (!CCDirector::sharedDirector()->getOpenGLView()) { CCEGLView *view = CCEGLView::sharedOpenGLView() view->setFrameSize(w, h) AppDelegate *pAppDelegate = new AppDelegate() CCApplication::sharedApplication()->run() } // else // { // ccDrawInit() // ccGLInvalidateStateCache() // CCShaderCache::sharedShaderCache()->reloadDefaultShaders() // CCTextureCache::reloadAllTextures() // CCNotificationCenter::sharedNotificationCenter()->postNotification(EVNET_COME_TO_FOREGROUND, NULL) // CCDirector::sharedDirector()->setGLDefaultValues() // } }欢迎分享,转载请注明来源:内存溢出
评论列表(0条)