0

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

我正在UIImageView为我们的应用程序的 UI 使用initWithContentsOfFile:,我担心它会比 a 造成太多的内存CCSprite。基本上,当我打电话时removeFromSuperview,它会卸载UIImage我使用UIImageView的内存并释放它使用的所有内存UIImage吗?

另外,我们可以说removeFromSuperview等于removeFromParentAndCleanUp:吗?

谢谢!

4

1 回答 1

1

我想你问错问题了。首先,很容易测试哪个使用更多内存(创建一个或另一个,在 Instruments 中检查内存)。但是,什么样的类在屏幕上显示图像并不重要(太多),因为图像(纹理)本身无论如何都会消耗大部分内存。我怀疑当 UIImageView 和 CCSprite 都显示相同的 512x512 图像时你会看到它们之间的显着差异,因为 99% 的内存使用将是纹理。

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

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

于 2013-03-01T10:11:52.217 回答