cocos2d-x中存在3个缓存类,都是全局单例模式。
1.CCTextureCache
首先是最底层也最有效的纹理缓存CCTextureCache,这里缓存的是加载到内存中的纹理资源,也就是图片资源。其原理是对加入缓存的纹理资源进行一次引用,使其引用计数加一,保持不被清除,其cocos2d-x的渲染机制是可以重复使用同一份纹理在不同的场合进行绘制,从而到达重复使用,降低内存和CPU运算资源的开销的目的。常用的是如下所示的3个接口:
static CCTextureCache* sharedTextureCache(); //返回纹理缓存的全局单例
CCTexture2D* addImage(const char* fileimage); //添加一张纹理图片到缓存中
void removeUnusedTextures(); //清除不使用的纹理