我正在努力提高我的ios cocos2d游戏的性能。当我注意到一件事情时,我正在使用Instruments工具检查应用程序的内存分配情况。有太多的CFString对象被[NSBundle mainBundle]调用声明和保存。它说,由[NSBundle mainBundle]声明的CFString对象
类别:CFString字符串(不变) 负责来电:一个NSBundle mainBundle]
有我的代码中的许多地方,我写了下面几行
[[NSBundle mainBundle] pathForResource:@"resource-name" ofType:@"png" isDirectory:imageDirectory];
难道这CFString字符串问题是因为上面的代码,因为我在pathForResource方法中给硬编码的字符串?或者什么可能是这个问题的原因?任何人都可以帮忙吗?这个CFString分配需要大约2Mb的代码,所以我很担心它。
问候
嗨Jess谢谢你的回答。请解释这将如何减少CFString对象的数量? – Aqueel
该包的根目录中的每个路径似乎都有1个CFString。减少根目录中文件的数量会减少CFStrings的数量。 –
谢谢Jess。我肯定会尝试,并会让你们知道。再次感谢。您能否确切地说明生成的路径以及为什么不生成子文件夹中的资源? – Aqueel