CCSprite内存溢出

时间:2011-04-01 11:29:55

标签: iphone ipad memory cocos2d-iphone ccsprite

我需要使用cocos2d创建和显示10个图像。每个都将被放置在前一个之上,并且所有这些都将同时可见(所有这些都具有透明区域)。每张图片的分辨率为2048x1536。

当我创建5个或更少的CCSprites时,应用程序运行正常,但是当我创建6个CCSprite时 - 它在设备(iPad)上崩溃并出现“Data Formatters temporary unavailable”错误。

我认为它缺乏记忆,但也许有人知道这种情况的任何方法

谢谢!

1 个答案:

答案 0 :(得分:1)

此尺寸的透明图像使用大约12mb ram(2048 * 1536 * 4字节)。

你很幸运,在你的应用程序崩溃之前你会看到5张这样大小的图像..这通常发生在大约50mb的ram使用情况。

如果不了解您想要做什么或需要显示什么,我无法提供任何建议......但是您将无法显示10个这样大小的图像。

编辑:由于您使用的是cocos / opengl,因此您可以通过将图像格式更改为rgb4444来获得更多图像。这样可以将内存需求减少到一半,但是你的图像质量也会下降。