【发布时间】:2012-03-26 00:45:49
【问题描述】:
我以这种方式为我的动画角色加载了巨大的纹理:
[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"MyFile.plist"];
后来,当我不再使用该角色时,我使用以下方式释放内存:
[[CCSpriteFrameCache sharedSpriteFrameCache]removeSpriteFramesFromFile:@"MyFile.plist"];
还有:
[[CCTextureCache sharedTextureCache]removeTextureForKey:@"MyFile.png"];
只是为了确定。
我这样做是因为它使用的纹理会消耗大量内存,所以我确保我处理掉它,这样我的应用就不会崩溃。 上面的代码正确吗?
无论如何,这是实际的问题:我最终再次加载我的角色,并再次处理它。最终,在一对夫妇复活并杀死后,应用程序崩溃了。日志什么也没说,所以我只能怀疑这是由于记忆造成的——这就是为什么我认为我没有正确处理纹理。
我确实需要创建和处理角色的纹理。我不能在游戏中预装它。
【问题讨论】:
标签: cocos2d-iphone