UIImageView
和CCSprite
之间的优缺点是什么?
我使用UIImageView
使用initWithContentsOfFile:
使用CCSprite
,我担心它会导致内存过多而不是removeFromSuperview
。基本上,当我致电UIImage
时,它是否会卸载UIImageView
使用的UIImage
并释放removeFromSuperview
使用的所有内存?
另外,我们可以说removeFromParentAndCleanUp:
等于{{1}}吗?
谢谢!
答案 0 :(得分:1)
我认为你问的是错误的问题。首先,测试哪个使用更多内存非常容易(创建一个或另一个,检查仪器中的内存)。但是(在很多情况下)什么类的类在屏幕上显示图像并不重要(因为图像(纹理)本身将消耗大部分内存)。我怀疑你会看到UIImageView和CCSprite在显示相同的512x512图像时会有显着差异,因为99%的内存使用量都是纹理。
CCSprite的主要优点是性能,特别是对于需要CCSprite的实时动画。对于菜单屏幕中的用户界面,UIViews就好了。
另外cocos2d缓存已经加载的纹理。我不能对UIImageView说同样的话。因此,如果您经常使用相同的纹理创建和消除精灵,CCSprite会更快。