use*_*220 5 memory-management instruments cocos2d-iphone automatic-ref-counting
我正在使用启用了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是拿着记忆还是什么?
一些对你有用的笔记
这个Cocos2d内存优化很好地解释了Cocos2d中的内存管理。
要检查总内存分配,请使用:仪器 -> 活动监视器。


