UIImageView和CCSprite之间的优缺点是什么?

时间:2013-03-01 06:03:04

标签: xcode memory-management cocos2d-iphone uiimage ccsprite

UIImageViewCCSprite之间的优缺点是什么?

我使用UIImageView使用initWithContentsOfFile:使用CCSprite,我担心它会导致内存过多而不是removeFromSuperview。基本上,当我致电UIImage时,它是否会卸载UIImageView使用的UIImage并释放removeFromSuperview使用的所有内存?

另外,我们可以说removeFromParentAndCleanUp:等于{{1}}吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你问的是错误的问题。首先,测试哪个使用更多内存非常容易(创建一个或另一个,检查仪器中的内存)。但是(在很多情况下)什么类的类在屏幕上显示图像并不重要(因为图像(纹理)本身将消耗大部分内存)。我怀疑你会看到UIImageView和CCSprite在显示相同的512x512图像时会有显着差异,因为99%的内存使用量都是纹理。

CCSprite的主要优点是性能,特别是对于需要CCSprite的实时动画。对于菜单屏幕中的用户界面,UIViews就好了。

另外cocos2d缓存已经加载的纹理。我不能对UIImageView说同样的话。因此,如果您经常使用相同的纹理创建和消除精灵,CCSprite会更快。