这里只是一个简单的问题,我遇到了麻烦。
有没有人知道使用CCBReader读取CCB文件的方法而不将CCB文件中的图像添加到纹理缓存中?
感谢您的帮助。
答案 0 :(得分:1)
这是不可能的,它甚至不是CCBReader特有的东西。通过任何方式在cocos2d中加载的任何图像,无论是从图像创建纹理,精灵帧还是文件中的精灵,还是位图字体,都会添加到纹理缓存中。与使用图像或子画面帧的方式相同,首先检查缓存是否已加载特定图像或纹理图集。
您可以做的是从缓存或整个缓存中清除特定纹理。但是,这不一定会从内存中删除纹理。只要纹理仍然在使用,例如精灵,该纹理将保留在内存中。但是如果纹理本身不在纹理缓存中,那么使用该纹理的最后一个sprite会释放内存。
但是,只要使用相同的纹理创建另一个精灵,图像首先需要再次作为纹理加载,这是一个缓慢的过程。它还将再次缓存纹理,因为这是缓存的用途:防止必须再次经历缓慢加载过程。
如果您因为内存压力相关问题而提出要求,除了减少纹理使用的内存量之外,您无能为力。通过使用更少的纹理或降低其质量(即减少颜色深度)或使用PVR格式来使用内存中的压缩纹理。