5

我正在使用启用了 ARC 的 Cocos2d 2.0。我的游戏是一个随机生成的游戏,所以我需要在游戏中间的场景中加载/卸载纹理(spritesheet-batchnode)。我正在尝试从文件中删除 spriteframes 并删除我希望在中间卸载的 spritesheet 的键纹理。当我在卸载工作表后使用 dumpcachedtextureInfo 时,该 spritesheet 纹理不会显示在 dumpcachedtextureinfo 的日志中。

但是当我使用 Instruments/activity monitor 来分析我的应用程序时,卸载纹理和 spritesheet 后实际内存使用量不会下降。

有没有办法使 dumpcachedtextureinfo 不会显示仍在内存中的纹理?此外,分配中的我的 livebytes 列显示 4 MB。

另外,正如我在各个地方读到的那样,分配不显示纹理内存。

所以我的分配实时字节列显示为 4 MB,我的总纹理内存与 dumpcchedtextureinfo 的日志显示为 84MB,但内存监视器仍然显示实际内存使用量为 84+Spritesheet 大小+实时字节

我无法理解这种差异?

我没有退出场景,所以我不确定 ARC 是否持有内存或什么?

4

1 回答 1

4

一些有用的笔记给你

在此处输入图像描述

在此处输入图像描述

  • 要检查内存泄漏,请使用:Instrument-> Leaks 在此处输入图像描述
于 2013-03-23T03:20:50.243 回答