我正在使用启用了ARC的Cocos2d 2.0。我的游戏是一个随机生成的游戏,所以我需要在游戏中间的场景中加载/卸载纹理(spritesheet-batchnode)。我试图删除spriteframesfromfile并删除纹理为我希望在中间卸载的spritesheet键。当我在卸载工作表后使用dumpcachedtextureInfo时,spritesheet纹理不会显示在dumpcachedtextureinfo的日志中。
但是当我使用Instruments / activity monitor来分析我的应用程序时,卸载纹理和spritesheet后实际的内存使用量不会下降。
有没有办法让dumpcachedtextureinfo不显示仍在内存中的纹理? 此外,分配中的我的livebytes列显示4 MB。
同样,我在各个地方读到分配不显示纹理内存。
所以我的分配实时字节列说4 MB,我的总纹理内存如dumpcchedtextureinfo的日志显示为84MB,但内存监视器仍显示实际内存使用量为84 + Spritesheet size + Live Bytes
我无法理解这种差异?
我没有退出现场,所以我不确定ARC是拿着记忆还是什么?
答案 0 :(得分:4)
一些有用的笔记
This Cocos2d memory optimisation非常了解Cocos2d中的内存管理。
检查总内存分配使用情况:仪器 - >活动监视器。