2013-03-01 109 views
0

UIImageViewCCSprite之间有什么优点和缺点?UIImageView和CCSprite之间有什么优点和缺点?

我使用initWithContentsOfFile:使用UIImageView为我们的应用程序的UI和恐怕会造成过多的内存比CCSprite一样。基本上,当我打电话给removeFromSuperview时,它会卸载我的UIImageView使用的UIImage并释放该UIImage使用的所有内存?我们可以说removeFromSuperview等于removeFromParentAndCleanUp:

谢谢!

回答

1

我想你问的是错误的问题。首先,测试哪些内存使用更多(创建一个或另一个内存,检查仪器内存)非常容易。但是,屏幕上显示图像的类别应该无关紧要,因为图像(纹理)本身会消耗大部分内存。我怀疑你会看到UIImageView和CCSprite之间的显着差异,因为它们都显示相同的512x512图像,因为99%的内存使用率将成为纹理。

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

另外cocos2d缓存已经加载的纹理。我不能说UIImageView相同。因此,如果您经常使用相同的纹理创建和解散sprite,CCSprite将会更快。

+0

感谢您的回复。那么,如果我为我的HUD使用“UIImageView”对吗?谢谢! – dzep 2013-03-02 05:21:12

+0

为HUD?不是真的。对于菜单,是的。尽管如此,一款回合制游戏:为什么不呢?动作游戏:不,不。 – LearnCocos2D 2013-03-02 19:03:02

+0

比方说,我们是在Cocos2D中,用于角色和其他对象。还有按钮,如果你按下按钮,另一个用户界面将出现。 UI将有用于背景的'UIImageView',用于文本的'UILabel'和用于操作的'UIButton',那会好吗? – dzep 2013-03-02 23:54:40

相关问题